Every CVE Search/ Get API key

CVE-2024-1931

Denial of service when trimming EDE text on positive replies

7.5 HighFix available

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

2.52%Up 2.5 points since Mar 8, 2024
90%50%10%1%

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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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 HighCVSS: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

Affected packages
PackageAffectedFixed
unbound
Alpine:v3.17
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.18
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.19
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.20
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.21
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.22
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.23
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Alpine:v3.24
1.18.0 up to 1.19.2-r0
1.19.2-r0
unbound
Debian:13
before 1.19.2-1
1.19.2-1
unbound
Debian:14
before 1.19.2-1
1.19.2-1
unbound
SUSE:Linux Micro 6.0
From an advisory covering 4 CVEs
before 1.21.0-1.1
1.21.0-1.1
unbound
Ubuntu: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
unbound
openSUSE:Tumbleweed
before 1.19.2-1.1
1.19.2-1.1

History

History
RecordedChangedSources
affected, facts
aliases, publishedEUVD
first indexedCVE 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

Show 15 moreShow less
This page doesn't list everything

Left out here: the rest of 1 source description. The JSON record has them.

MoveEnter Open