# CVE-2024-1931: Denial of service when trimming EDE text on positive replies

> An attacker can cause a denial of service in Unbound via an infinite loop when trimming EDE text, requiring the non-default 'ede: yes' configuration.

- **Severity:** High 7.5 (`CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H`)
- **Exploited in the wild:** Not known
- **Login needed:** Not needed
- **Attackable:** Over the internet
- **Victim action needed:** Not needed
- **Fix available:** Yes
- **Published:** 7 Mar 2024
- **Updated:** 13 Feb 2025
- **Also known as:** ALPINE-CVE-2024-1931, DEBIAN-CVE-2024-1931, GHSA-q63v-rwfp-q5p2, UBUNTU-CVE-2024-1931, openSUSE-SU-2024:13762-1

## What is CVE-2024-1931?

CVE-2024-1931 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 7 Mar 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.

### Official description

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.

Weakness: CWE-835 (Loop with Unreachable Exit Condition)

## Which versions are affected by CVE-2024-1931?

It affects 2 products.


| Package | Ecosystem | Affected | Fixed in |
| --- | --- | --- | --- |
| `unbound` | openSUSE:Tumbleweed | All versions | 1.19.2-1.1 |

Products: Fedoraproject Fedora, Nlnetlabs Unbound.

## How do I fix CVE-2024-1931?

Upgrade to a fixed version.

## Is CVE-2024-1931 being exploited?

There is no known exploitation of CVE-2024-1931 in the wild and no public exploit code.

## Other vulnerabilities in Fedoraproject Fedora

- [CVE-2024-4577](https://insights.sbomify.com/CVE-2024-4577/): PHP-CGI OS Command Injection (critical 9.8, exploited in the wild)
- [CVE-2021-39226](https://insights.sbomify.com/CVE-2021-39226/): Grafana Authentication Bypass (critical 9.8, exploited in the wild)
- [CVE-2019-5544](https://insights.sbomify.com/CVE-2019-5544/): VMware ESXi and Horizon DaaS OpenSLP Heap-Based Buffer Overflow (critical 9.8, exploited in the wild)
- [CVE-2024-4947](https://insights.sbomify.com/CVE-2024-4947/): Google Chromium V8 Type Confusion (critical 9.6, exploited in the wild)
- [CVE-2024-4671](https://insights.sbomify.com/CVE-2024-4671/): Google Chromium Visuals Use-After-Free (critical 9.6, exploited in the wild)

## Fix prompt for AI coding agents

```text
Check this codebase for CVE-2024-1931 and fix it if it is affected.

What it is: CVE-2024-1931 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 7 Mar 2024. An attacker can exploit it over the internet without logging in, with no action from the victim.
Exploitation: There is no known exploitation of CVE-2024-1931 in the wild and no public exploit code.

Affected product: Fedoraproject Fedora. No package-level version data is available, so check the vendor advisory linked from the reference page.

Task:
1. Search the dependency manifests and lockfiles (for example package.json, package-lock.json, requirements.txt, poetry.lock, uv.lock, pom.xml, build.gradle, go.mod, Cargo.lock, Gemfile.lock) and any Dockerfiles for the affected packages, including transitive dependencies.
2. If an affected version is in use, upgrade it to the fixed version for its release line with the project's package manager, so the lockfile is regenerated. Prefer the smallest upgrade that fixes it.
3. If there is no fix, or the upgrade would break the build, do not guess: explain the risk and the safest workaround instead.
4. Run the tests and summarise what changed and why.
5. If nothing in the project is affected, say so and change nothing.

Reference: https://insights.sbomify.com/CVE-2024-1931/ (Markdown: https://insights.sbomify.com/CVE-2024-1931/index.md)
```

## Sources

- CVE record: https://www.cve.org/CVERecord?id=CVE-2024-1931
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2024-1931
- OSV: https://osv.dev/vulnerability/CVE-2024-1931

---
From sbomify Insights: https://insights.sbomify.com/CVE-2024-1931/
Summaries are generated and may contain mistakes; the official description above is the record.
