ASA-2019-00305 – curl: Integer overflows em curl_url_set()


For the English version of this alert, click here.

Allele Security Alert

ASA-2019-00305

Identificador(es)

ASA-2019-00305, CVE-2019-5435

Título

Integer overflows em curl_url_set()

Fabricante(s)

the Curl project

Produto(s)

curl

Versão(ões) afetada(s)

libcurl 7.62.0 até e incluindo 7.64.1

Versão(ões) corrigida(s)

libcurl 7.65.0

Prova de conceito

Desconhecido

Descrição

O libcurl contém dois integer overflows na função curl_url_set() que, se acionados, podem levar a uma alocação de buffer muito pequena e a um heap buffer overflow subsequente.

As falhas existem apenas em arquiteturas de 32 bits e exigem comprimentos excessivos de entrada de strings.

Detalhes técnicos

Existem dois pontos de entrada para este problema, em arquiteturas de 32 bits.

Pedindo ao libcurl para analisar uma string, passando uma string maior que 2GB para esta API: `curl_url_set(uh, CURLUPART_URL, “string”, 0);` aciona o bug.

Pedindo à libcurl para atualizar uma URL com uma nova string, e URL codificada no processo, passando uma string maior que 1.33GB para esta API: `curl_url_set(uh, CURLUPART_*, “string”, CURLU_URLENCODE);` aciona a erro.

Este bug foi introduzido em agosto de 2018 em [commit fb30ac5a2d] (https://github.com/curl/curl/commit/fb30ac5a2d63773c52).

Créditos

Wenchao Li

Referência(s)

Integer overflows in curl_url_set()
https://curl.haxx.se/docs/CVE-2019-5435.html

CURL_MAX_INPUT_LENGTH: largest acceptable string input size
https://github.com/curl/curl/commit/5fc28510a4664f4

URL-API
https://github.com/curl/curl/commit/fb30ac5a2d63773c52

[SECURITY ADVISORY] curl: Integer overflows in curl_url_set
https://seclists.org/oss-sec/2019/q2/123

CVE-2019-5435
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5435

CVE-2019-5435
https://nvd.nist.gov/vuln/detail/CVE-2019-5435

Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.

Última modificação: 23 setembro 2019

Não somos responsáveis por qualquer perda de dados, corrupção de dispositivos ou qualquer outro tipo de problema devido ao uso de qualquer informação mencionada em nossos alertas de segurança.