DescriptionNLnet Labs Unbound version 1.18.0 up to and including version 1.19.1 contain a vulnerability that can cause denial of service by a certain code path that can lead to an infinite loop. Unbound 1.18.0 introduced a feature that removes EDE records from responses with size higher than the client's advertised buffer size. Before removing all the EDE records however, it would try to see if trimming the extra text fields on those records would result in an acceptable size while still retaining the EDE codes. Due to an unchecked condition, the code that trims the text of the EDE records could loop indefinitely. This happens when Unbound would reply with attached EDE information on a positive reply and the client's buffer size is smaller than the needed space to include EDE records. The vulnerability can only be triggered when the 'ede: yes' option is used; non default configuration. From version 1.19.2 on, the code is fixed to avoid looping indefinitely.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
unbound (PTS)buster1.9.0-2+deb10u2fixed
buster (security)1.9.0-2+deb10u4fixed
bullseye (security)1.13.1-1+deb11u2fixed
bookworm (security)1.17.1-2+deb12u2fixed

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

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
unboundsourcebuster(not affected)
unboundsourcebullseye(not affected)
unboundsourcebookworm(not affected)


[bookworm] - unbound <not-affected> (Vulnerable code introduced later)
[bullseye] - unbound <not-affected> (Vulnerable code introduced later)
[buster] - unbound <not-affected> (Vulnerable code introduced later)

Search for package or bug name: Reporting problems