CVE-2023-31137: MaraDNS is open-source software that implements the Domain Name System (DNS). In version 3.5.0024 and prior, a remotely exploitable integer underflow vulnerability in the DNS packet decompression function allows an attacker to cause a Denial of Service by triggering an abnormal program termination. The vulnerability exists in the `decomp_get_rddata` function within the `Decompress.c` file. When handling a DNS packet with an Answer RR of qtype 16 (TXT record) and any qclass, if the `rdlength` is smaller than `rdata`, the result of the line `Decompress.c:886` is a negative number `len = rdlength - total;`. This value is then passed to the `decomp_append_bytes` function without proper validation, causing the program to attempt to allocate a massive chunk of memory that is impossible to allocate. Consequently, the program exits with an error code of 64, causing a Denial of Service. One proposed fix for this vulnerability is to patch `Decompress.c:887` by breaking `if(len <= 0)`, which has been incorporated in version 3.5.0036 via commit bab062bde40b2ae8a91eecd522e84d8b993bab58. Patch is 3.5.0036: https://github.com/samboy/MaraDNS/commit/bab062bde40b2ae8a91eecd522e84d8b993bab58
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=73937e86b92dcf813bf021a83451e2ae4dbc423c commit 73937e86b92dcf813bf021a83451e2ae4dbc423c Author: Christopher Fore <csfore@posteo.net> AuthorDate: 2024-01-20 16:34:59 +0000 Commit: Joonas Niilola <juippis@gentoo.org> CommitDate: 2024-02-09 13:47:34 +0000 net-dns/maradns: add 3.5.0036, security bump Rebased patch, removed fix_shebang due to the tool no longer being present. Bug: https://bugs.gentoo.org/906113 Signed-off-by: Christopher Fore <csfore@posteo.net> Closes: https://github.com/gentoo/gentoo/pull/34684 Signed-off-by: Joonas Niilola <juippis@gentoo.org> net-dns/maradns/Manifest | 1 + net-dns/maradns/files/maradns-3.5.0022-flags.patch | 23 ++---- net-dns/maradns/maradns-3.5.0036.ebuild | 89 ++++++++++++++++++++++ 3 files changed, 97 insertions(+), 16 deletions(-)
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e2c9c614fcadd30aa336d7a413fd7119f72c097 commit 7e2c9c614fcadd30aa336d7a413fd7119f72c097 Author: Petr Vaněk <arkamar@gentoo.org> AuthorDate: 2025-01-02 12:01:39 +0000 Commit: Petr Vaněk <arkamar@gentoo.org> CommitDate: 2025-01-02 12:14:28 +0000 net-dns/maradns: drop 3.5.0022 Bug: https://bugs.gentoo.org/906113 Signed-off-by: Petr Vaněk <arkamar@gentoo.org> net-dns/maradns/Manifest | 1 - net-dns/maradns/files/maradns-3.5.0022-flags.patch | 65 -------------- net-dns/maradns/maradns-3.5.0022.ebuild | 99 ---------------------- 3 files changed, 165 deletions(-)