CVE-2023-31137

NameCVE-2023-31137
DescriptionMaraDNS 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)
ReferencesDLA-3457-1, DSA-5441-1
Debian Bugs1035936

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
maradns (PTS)buster2.0.13-1.2vulnerable
buster (security)2.0.13-1.2+deb10u1fixed
bullseye (security), bullseye2.0.13-1.4+deb11u1fixed
sid2.0.13-1.6fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
maradnssourcebuster2.0.13-1.2+deb10u1DLA-3457-1
maradnssourcebullseye2.0.13-1.4+deb11u1DSA-5441-1
maradnssource(unstable)2.0.13-1.51035936

Notes

https://github.com/samboy/MaraDNS/commit/bab062bde40b2ae8a91eecd522e84d8b993bab58
https://github.com/samboy/MaraDNS/security/advisories/GHSA-58m7-826v-9c3c

Search for package or bug name: Reporting problems