CVE-2024-1931
Denial of service when trimming EDE text on positive replies
NLnet 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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- None
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
7.5
Denial of service when trimming EDE text on positive replies
NLnet 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.
- Record
CVE-2024-1931- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-835
- Updated
- 2026-11-02
EUVDEUVD-2024-17653
7.5
NLnet 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.
- Record
EUVD-2024-17653- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-q63v-rwfp-q5p2
7.5
NLnet Labs Unbound version 1.18.0 up to and including version 1.19.1 contain a vulnerability that...
NLnet 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.
- Record
GHSA-q63v-rwfp-q5p2- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-835
- Updated
- 2026-11-02
NVD
7.5
NLnet 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.
- Record
CVE-2024-1931- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Weakness
- CWE-835
- Updated
- 2026-11-02
OSVALPINE-CVE-2024-1931
7.5
NLnet 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.
- Record
ALPINE-CVE-2024-1931- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSV
7.5
NLnet 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.
- Record
CVE-2024-1931- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
Show 4 moreShow less
OSVDEBIAN-CVE-2024-1931
7.5
NLnet 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.
- Record
DEBIAN-CVE-2024-1931- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVUBUNTU-CVE-2024-1931
7.5
NLnet 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.
- Record
UBUNTU-CVE-2024-1931- CVSS 3.1
- 7.5 High
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2024:13762-1 No score
libunbound8-1.19.2-1.1 on GA media
These are all security issues fixed in the libunbound8-1.19.2-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:13762-1- Updated
- 2026-11-02
OSVSUSE-SU-2025:20024-1 No score
Security update for unbound
This update for unbound fixes the following issues:
-
Update to 1.20.0: Features:
- The config for discard-timeout, wait-limit, wait-limit-cookie, wait-limit-netblock and wait-limit-cookie-netblock was added, for the fix to the DNSBomb issue.
- Merge GH#1027: Introduce 'cache-min-negative-ttl' option.
- Merge GH#1043 from xiaoxiaoafeifei: Add loongarch support; updates config.guess(2024-01-01) and config.sub(2024-01-01), verified with upstream.
- Implement cachedb-check-when-serve-expired: yes option, default is enabled. When serve expired is enabled with cachedb, it first checks cachedb before serving the expired response.
- Fix GH#876: [FR] can unbound-checkconf be silenced when configuration is valid?
Bug Fixes:
- Fix for the DNSBomb vulnerability CVE-2024-33655. Thanks to Xiang Li from the Network and Information Security Lab of Tsinghua University for reporting it.
- Update doc/unbound.doxygen with 'doxygen -u'. Fixes option deprecation warnings and updates with newer defaults.
- Remove unused portion from iter_dname_ttl unit test.
- Fix validator classification of qtype DNAME for positive and redirection answers, and fix validator signature routine for dealing with the synthesized CNAME for a DNAME without previously encountering it and also for when the qtype is DNAME.
- Fix qname minimisation for reply with a DNAME for qtype CNAME that answers it.
- Fix doc test so it ignores but outputs unsupported doxygen options.
- Fix GH#1021 Inconsistent Behavior with Changing rpz-cname-override and doing a unbound-control reload.
- Merge GH#1028: Clearer documentation for tcp-idle-timeout and edns-tcp-keepalive-timeout.
- Fix GH#1029: rpz trigger clientip and action rpz-passthru not working as expected.
- Fix rpz that the rpz override is taken in case of clientip triggers. Fix that the clientip passthru action is logged. Fix that the clientip localdata action is logged. Fix rpz override action cname for the clientip trigger.
- Fix to unify codepath for local alias for rpz cname action override.
- Fix rpz for cname override action after nsdname and nsip triggers.
- Fix that addrinfo is not kept around but copied and freed, so that log-destaddr uses a copy of the information, much like NSD does.
- Merge GH#1030: Persist the openssl and expat directories for repeated Windows builds.
- Fix that rpz CNAME content is limited to the max number of cnames.
- Fix rpz, it follows iterator CNAMEs for nsip and nsdname and sets the reply query_info values, that is better for debug logging.
- Fix rpz that copies the cname override completely to the temp region, so there are no references to the rpz region.
- Add rpz unit test for nsip action override.
- Fix rpz for qtype CNAME after nameserver trigger.
- Fix rpz so that rpz CNAME can apply after rpz CNAME. And fix that clientip and nsip can give a CNAME.
- Fix localdata and rpz localdata to match CNAME only if no direct type match is available.
- Merge GH#831 from Pierre4012: Improve Windows NSIS installer script (setup.nsi).
- For GH#831: Format text, use exclamation icon and explicit label names.
- Fix name of unit test for subnet cache response.
- Fix GH#1032: The size of subnet_msg_cache calculation mistake cause memory usage increased beyond expectations.
- Fix for GH#1032, add safeguard to make table space positive.
- Fix comment in lruhash space function.
- Fix to add unit test for lruhash space that exercises the routines.
- Fix that when the server truncates the pidfile, it does not follow symbolic links.
- Fix that the server does not chown the pidfile.
- Fix GH#1034: DoT forward-zone via unbound-control.
- Fix for crypto related failures to have a better error string.
- Fix GH#1035: Potential Bug while parsing port from the "stub-host" string; also…
- Record
SUSE-SU-2025:20024-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
unboundAlpine:v3.17 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.18 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.19 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.20 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.21 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.22 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.23 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundAlpine:v3.24 |
1.18.0 up to 1.19.2-r0 | 1.19.2-r0 |
unboundDebian:13 |
before 1.19.2-1 | 1.19.2-1 |
unboundDebian:14 |
before 1.19.2-1 | 1.19.2-1 |
unboundSUSE:Linux Micro 6.0 From an advisory covering 4 CVEs |
before 1.21.0-1.1 | 1.21.0-1.1 |
unboundUbuntu:24.04:LTS |
before 1.19.2-1ubuntu1, plus listed versions 1.17.1-21.18.0-2ubuntu11.18.0-2ubuntu21.19.1-1ubuntu1 |
1.19.2-1ubuntu1 |
unboundopenSUSE:Tumbleweed |
before 1.19.2-1.1 | 1.19.2-1.1 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | ||
| aliases, published | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2024-1931 is a high vulnerability (CVSS 7.5) in Nlnet Labs Unbound, published March 7, 2024. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 2.52%, the 84th percentile. Fixed in unbound 1.19.2-r0.
References
nlnetlabs.nl/downloads/unbound/CVE-2024-1931.txt
lists.fedoraproject.org/archives/list/[email protected]/message/4VCBRQ7KMSIGBQ6A4SBL5PF326DIJIIV
lists.fedoraproject.org/archives/list/[email protected]/message/B2JUIFPA7H75Q2W3VXW2TUNHK6NVGOX4
lists.fedoraproject.org/archives/list/[email protected]/message/RBR4H7RCVMJ6H76S4LLRSY5EBFTYWGXK
lists.freebsd.org/archives/freebsd-security/2024-July/000283.html
security.netapp.com/advisory/ntap-20240705-0006
Show 15 moreShow less
nvd.nist.gov/vuln/detail/CVE-2024-1931
github.com/advisories/GHSA-q63v-rwfp-q5p2
security.alpinelinux.org/vuln/CVE-2024-1931
security-tracker.debian.org/tracker/CVE-2024-1931
suse.com/support/update/announcement/2025/suse-su-202520024-1
bugzilla.suse.com/1215628
bugzilla.suse.com/1219823
bugzilla.suse.com/1219826
bugzilla.suse.com/1221164
suse.com/security/cve/CVE-2023-50387
suse.com/security/cve/CVE-2023-50868
suse.com/security/cve/CVE-2024-1931
suse.com/security/cve/CVE-2024-33655
ubuntu.com/security/CVE-2024-1931
cve.org/CVERecord?id=CVE-2024-1931
Left out here: the rest of 1 source description. The JSON record has them.