Allele Security Alert
ASA-2019-00532, DOV-3278, CVE-2019-11500
Out-of-bounds heap memory write in IMAP and ManageSieve protocol parsers
OX Software GmbH
All versions of Dovecot prior to 22.214.171.124 and 126.96.36.199
Dovecot versions 188.8.131.52 and 184.108.40.206
Proof of concept
IMAP and ManageSieve protocol parsers do not properly handle NUL byte when scanning data in quoted strings, leading to out of bounds heap memory writes.
This vulnerability allows for out-of-bounds writes to objects stored on the heap up to 8096 bytes in pre-login phase, and 65536 bytes post-login phase, allowing sufficiently skilled attacker to perform complicated attacks that can lead to leaking private information or remote code execution. Abuse of this bug is very difficult to observe, as it does not necessarily cause a crash. Attempts to abuse this bug are not directly evident from logs.
Steps to reproduce:
This bug is best observed using valgrind to see the out of bounds read with following snippet:
perl -e 'print "a id (\"foo\" \"".("x"x1021)."\\A\" \"bar\" \"\000".("x"x1020)."\\A\")\n"' | nc localhost 143
Nick Roessler (University of Pennsylvania) and Rafi Rubin (University of Pennsylvania)
Critical Dovecot and Pigeonhole vulnerability
CVE-2019-11500: Critical vulnerability in Dovecot and Pigeonhole
Bug 240174 – mail/dovecot: Update to 220.127.116.11 (Fixes CVE-2019-11500)
lib-imap: Don’t accept strings with NULs
lib-imap: Make sure str_unescape() won’t be writing past allocated memory
lib-managesieve: Don’t accept strings with NULs
lib-managesieve: Make sure str_unescape() won’t be writing past allocated memory
CVE-2019-11500 - Red Hat Customer Portal
CVE-2019-11500 | SUSE
If there is any error in this alert or you wish a comprehensive analysis, let us know.
Last modified: September 4, 2019