ASA-2018-00018 – curl: Integer overflow conduz a buffer overflow durante autenticação SASL


For the English version of this alert, click here.

Allele Security Alert

ASA-2018-00018

Identificador(es)

ASA-2018-00018, CVE-2018-16839

Título

Integer overflow conduz a buffer overflow durante autenticação SASL

Produto(s)

curl

Versão(ões) afetada(s)

O problema está presente somente em sistemas 32 bits. Também é necessário que o campo nome de usuário use mais que 2GB de memória, o que deveria ser raro.

Versões afetadas: libcurl 7.33.0 até e incluindo 7.61.1

Versão(ões) corrigida(s)

libcurl < 7.33.0 e >= 7.62.0

Prova de conceito

Desconhecido

Descrição

libcurl contém um buffer overflow no código de autenticação SASL.

A função interna Curl_auth_create_plain_message() falha para verificar corretamente que o comprimento do usuário e senha não são muito longos então calcula o tamanho do buffer a ser alocado.

Em sistemas com o tipo size_t com 32 bits, o cálculo do tamanho do buffer conduz a integer overflow quando o nome do usuário excede 2GB (2^31 bytes). Este integer overflow normalmente causa um buffer muito pequeno ser atualmente alocado ao invés do muito grande pretendido, fazendo com que o uso do buffer resulte em um buffer overflow na heap.

A função afetada pode somente ser alcançada quando usando POP3(S), IMAP(S) ou SMTP(S).

Referência(s)

CURL 7.62.0 MOAR STUFF
https://daniel.haxx.se/blog/2018/10/31/curl-7-62-0-moar-stuff/

SASL password overflow via integer overflow
https://curl.haxx.se/docs/CVE-2018-16839.html

sasl: allow arbitrarily long username and password
https://github.com/curl/curl/commit/c56f9797e7feb7c2dc

Curl_auth_create_plain_message: fix too-large-input-check
https://github.com/curl/curl/commit/f3a24d7916b9173c69a3e0ee790102993833d6c5

CVE-2018-16839
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-16839

CVE-2018-16839
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-16839


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

Última modificação: 7 de novembro de 2018