Every CVE Search/ Get API key

CVE-2023-29530

Laminas Diactoros vulnerable to HTTP Multiline Header Termination

7.5 HighFix available

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().

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

0.97%Up 0.9 points since Apr 25, 2023
90%50%10%1%

What each source reports

CVE List Score used 7.5

Laminas Diactoros vulnerable to HTTP Multiline Header Termination

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().

Record
CVE-2023-29530
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-20
Updated
2026-11-02
EUVDEUVD-2023-1431 7.5

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().

Record
EUVD-2023-1431
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-xv3h-4844-9h36 7.5

HTTP Multiline Header Termination

Impact

Affected versions of Laminas Diactoros accepted a single line feed (LF / \n ) character at the end of a header name. When serializing such a header name containing a line-feed into the on-the-wire representation of a HTTP/1.x message, the resulting message would be syntactically invalid, due to the header line being terminated too early. An attacker that is able to control the header names that are passed to Laminas Diactoros would be able to intentionally craft invalid messages, possibly causing application errors or invalid HTTP requests being sent out with an PSR-18 HTTP client. The latter might present a denial of service vector if a remote service’s web application firewall bans the application due to the receipt of malformed requests.

Patches

The problem has been patched in the following versions:

  • 2.18.1
  • 2.19.1
  • 2.20.1
  • 2.21.1
  • 2.22.1
  • 2.23.1
  • 2.24.2
  • 2.25.2

Workarounds

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().

References

  • CVE-2023-29197
  • GHSA-wxmh-65f7-jcvw
Record
GHSA-xv3h-4844-9h36
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-20
Updated
2026-11-02
NVD 7.5

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().

Record
CVE-2023-29530
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS 3.1
6.5 MediumCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weakness
CWE-20
Updated
2026-11-02
OSV 7.5

Laminas Diactoros vulnerable to HTTP Multiline Header Termination

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().

Record
CVE-2023-29530
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-20
Updated
2026-11-02
OSVGHSA-xv3h-4844-9h36 7.5

HTTP Multiline Header Termination

Impact

Affected versions of Laminas Diactoros accepted a single line feed (LF / \n ) character at the end of a header name. When serializing such a header name containing a line-feed into the on-the-wire representation of a HTTP/1.x message, the resulting message would be syntactically invalid, due to the header line being terminated too early. An attacker that is able to control the header names that are passed to Laminas Diactoros would be able to intentionally craft invalid messages, possibly causing application errors or invalid HTTP requests being sent out with an PSR-18 HTTP client. The latter might present a denial of service vector if a remote service’s web application firewall bans the application due to the receipt of malformed requests.

Patches

The problem has been patched in the following versions:

  • 2.18.1
  • 2.19.1
  • 2.20.1
  • 2.21.1
  • 2.22.1
  • 2.23.1
  • 2.24.2
  • 2.25.2

Workarounds

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().

References

  • CVE-2023-29197
  • GHSA-wxmh-65f7-jcvw
Record
GHSA-xv3h-4844-9h36
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-20
Updated
2026-11-02
OSVCLSA-2026-1781052745 No score

TuxCare security update for laminas/laminas-diactoros (1 CVE)

TuxCare rebuilt laminas/laminas-diactoros to address 1 CVE. Fixed in 2.22.0-p1+tuxcare.

Record
CLSA-2026-1781052745
Updated
2026-11-02
OSVCLSA-2026-1789456930 No score

TuxCare security update for laminas/laminas-diactoros (2 CVEs)

TuxCare rebuilt laminas/laminas-diactoros to address 2 CVEs. Fixed in 1.8.7p2-1+tuxcare.

Record
CLSA-2026-1789456930
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
laminas/laminas-diactoros
Packagist
before 2.18.1
2.18.1
laminas/laminas-diactoros
Packagist
2.19.0 to 2.19.0
2.19.1
laminas/laminas-diactoros
Packagist
2.20.0 to 2.20.0
2.20.1
laminas/laminas-diactoros
Packagist
2.21.0 to 2.21.0
2.21.1
laminas/laminas-diactoros
Packagist
2.22.0 to 2.22.0
2.22.1
laminas/laminas-diactoros
Packagist
2.23.0 to 2.23.0
2.23.1
laminas/laminas-diactoros
Packagist
2.24.0 up to 2.24.2
2.24.2
laminas/laminas-diactoros
Packagist
2.25.0 up to 2.25.2
2.25.2
laminas/laminas-diactoros
TuxCare:Packagist
2.22.0 up to 2.22.0-p1+tuxcare
2.22.0-p1+tuxcare
laminas/laminas-diactoros
TuxCare:Packagist
From an advisory covering 2 CVEs
1.8.7p2 up to 1.8.7p2-1+tuxcare
1.8.7p2-1+tuxcare
Show 8 moreShow less
Affected packages
PackageAffectedFixed
laminas/laminas-diactoros
Packagist
before 2.18.1, plus listed versions
1.0.01.0.11.0.21.0.31.0.4
Show 45 moreShow less
1.0.51.1.01.1.11.1.21.1.31.1.41.2.01.2.11.3.01.3.11.3.101.3.111.3.21.3.31.3.41.3.51.3.61.3.71.3.81.3.91.4.01.4.11.5.01.6.01.6.11.7.01.7.11.7.21.8.01.8.0p11.8.0p21.8.11.8.1p11.8.1p21.8.21.8.2p11.8.2p21.8.31.8.3p11.8.3p21.8.41.8.4p11.8.4p21.8.51.8.5p1
2.18.1
laminas/laminas-diactoros
Packagist
2.19.0 up to 2.19.1
2.19.1
laminas/laminas-diactoros
Packagist
2.20.0 up to 2.20.1
2.20.1
laminas/laminas-diactoros
Packagist
2.21.0 up to 2.21.1
2.21.1
laminas/laminas-diactoros
Packagist
2.22.0 up to 2.22.1
2.22.1
laminas/laminas-diactoros
Packagist
2.23.0 up to 2.23.1
2.23.1
laminas/laminas-diactoros
Packagist
2.24.0 up to 2.24.2, plus listed versions
2.24.1
2.24.2
laminas/laminas-diactoros
Packagist
2.25.0 up to 2.25.2, plus listed versions
2.25.1
2.25.2

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-2023-29530 is a high vulnerability (CVSS 7.5) in Getlaminas Laminas-diactoros, published April 24, 2023. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.97%, the 61st percentile. Fixed in laminas/laminas-diactoros 2.18.1.

References

This page doesn't list everything

Left out here: 70 versions. The JSON record has them.

MoveEnter Open