CVE-2023-29530 Laminas Diactoros vulnerable to HTTP Multiline Header Termination
Attackers can cause denial of service or application errors in Laminas Diactoros by injecting newlines into HTTP headers.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2023-29530?
CVE-2023-29530 is a high-severity denial of service vulnerability in Fedoraproject Fedora, published on 24 Apr 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official description
Laminas Diactoros provides PSR HTTP Message implementations. In versions 2.18.0 and prior, 2.19.0, 2.20.0, 2.21.0, 2.22.0, 2.23.0, 2.24.0, and 2.25.0, users who create HTTP requests or responses using laminas/laminas-diactoros, when providing a newline at the start or end of a header key or value, can cause an invalid message. This can lead to denial of service vectors or application errors. The problem has been patched in following versions 2.18.1, 2.19.1, 2.20.1, 2.21.1, 2.22.1, 2.23.1, 2.24.1, and 2.25.1. As a workaround, validate HTTP header keys and/or values, and if using user-supplied values, filter them to strip off leading or trailing newline characters before calling `withHeader()`.
Weakness: CWE-20
Which versions are affected by CVE-2023-29530?
16 open source packages ship an affected version, including laminas/laminas-diactoros. It affects 3 products.
| Package | Affected | Fixed in |
|---|---|---|
laminas/laminas-diactoros Packagist | All versions | 2.18.1 |
laminas/laminas-diactoros Packagist | All versions | 2.18.1 |
laminas/laminas-diactoros Packagist | From 2.19.0 | 2.19.1 |
laminas/laminas-diactoros Packagist | From 2.19.0 | 2.19.1 |
laminas/laminas-diactoros Packagist | From 2.20.0 | 2.20.1 |
laminas/laminas-diactoros Packagist | From 2.20.0 | 2.20.1 |
10 more packages
laminas/laminas-diactoros Packagist | From 2.21.0 | 2.21.1 |
laminas/laminas-diactoros Packagist | From 2.21.0 | 2.21.1 |
laminas/laminas-diactoros Packagist | From 2.22.0 | 2.22.1 |
laminas/laminas-diactoros Packagist | From 2.22.0 | 2.22.1 |
laminas/laminas-diactoros Packagist | From 2.23.0 | 2.23.1 |
laminas/laminas-diactoros Packagist | From 2.23.0 | 2.23.1 |
laminas/laminas-diactoros Packagist | From 2.24.0 | 2.24.2 |
laminas/laminas-diactoros Packagist | From 2.24.0 | 2.24.2 |
laminas/laminas-diactoros Packagist | From 2.25.0 | 2.25.2 |
laminas/laminas-diactoros Packagist | From 2.25.0 | 2.25.2 |
Products include Fedoraproject Fedora, Getlaminas Laminas-Diactoros, Guzzlephp Psr-7.
How do I fix CVE-2023-29530?
Upgrade laminas/laminas-diactoros to a fixed version for your release line: 2.18.1, 2.19.1, 2.20.1 or 2.21.1.
Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.
Is CVE-2023-29530 being exploited?
There is no known exploitation of CVE-2023-29530 in the wild and no public exploit code.
Other vulnerabilities in Fedoraproject Fedora
Sources
Also known as CLSA-2026-1781052745, GHSA-xv3h-4844-9h36.