For the English version of this alert, click here.
Allele Security Alert
ASA-2019-00532
Identificador(es)
ASA-2019-00532, DOV-3278, CVE-2019-11500
Título
Out-of-bounds heap memory write nos parsers dos protocolos IMAP e ManageSieve
Fabricante(s)
OX Software GmbH
Produto(s)
Dovecot
Versão(ões) afetada(s)
Todas as versões do Dovecot anteriores a 2.3.7.2 e 2.2.36.4
Versão(ões) corrigida(s)
Dovecot versões 2.3.7.2 e 2.2.36.4
Prova de conceito
Sim
Descrição
Os parsers dos protocolos IMAP e ManageSieve não processam corretamente o byte NUL ao escanear dados entre aspas, conduzindo a out-of-bounds write na heap.
Detalhes técnicos
Essa vulnerabilidade permite out-of-bounds writes em objetos armazenados na heap de até 8096 bytes na fase de pré-login e 65536 bytes na fase de pós-login, permitindo que usuários executem ataques que podem levar ao vazamento de informações ou execução remota de código. O abuso dessa vulnerabilidade é de difícil observação, pois não necessariamente causa um crash. Tentativas de utilização deste bug não são diretamente evidentes nos logs do sistema.
Passos para reproduzir o bug:
O bug é melhor observado usando valgrind para ver o out of bounds read com o seguinte código:
perl -e 'print "a id (\"foo\" \"".("x"x1021)."\\A\" \"bar\" \"\000".("x"x1020)."\\A\")\n"' | nc localhost 143
Créditos
Nick Roessler (University of Pennsylvania) e Rafi Rubin (University of Pennsylvania)
Referência(s)
Critical Dovecot and Pigeonhole vulnerability
https://www.openwall.com/lists/oss-security/2019/08/28/3
CVE-2019-11500: Critical vulnerability in Dovecot and Pigeonhole
https://dovecot.org/pipermail/dovecot/2019-August/116873.html
Bug 240174 – mail/dovecot: Update to 2.3.7.2 (Fixes CVE-2019-11500)
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=240174
lib-imap: Don’t accept strings with NULs
https://github.com/dovecot/core/commit/eda0f7f0b9a713d931ba41c4364c6a24d035cd8e
lib-imap: Make sure str_unescape() won’t be writing past allocated memory
https://github.com/dovecot/core/commit/e5e3a8fed685af7ed45d584f5406e9dd2a490669
lib-managesieve: Don’t accept strings with NULs
https://github.com/dovecot/pigeonhole/commit/16e047c54ca23f6fd585734c4f11c683df4a21eb
lib-managesieve: Make sure str_unescape() won’t be writing past allocated memory
https://github.com/dovecot/pigeonhole/commit/10c5cbe87aa0bd7daee11561a3b24460f9a65bec
https://access.redhat.com/security/cve/CVE-2019-11500
CVE-2019-11500
https://security-tracker.debian.org/tracker/CVE-2019-11500
CVE-2019-11500 in Ubuntu
https://people.canonical.com/~ubuntu-security/cve/CVE-2019-11500.html
CVE-2019-11500 | SUSE
https://www.suse.com/security/cve/CVE-2019-11500
CVE-2019-11500
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11500
CVE-2019-11500
https://nvd.nist.gov/vuln/detail/CVE-2019-11500
Se encontrou algum erro neste alerta ou deseja uma análise compreensiva, entre em contato.
Última modificação: 24 setembro 2019