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
Release Notes
laminas/laminas-diactoros
### [`v2.24.2`](https://togithub.com/laminas/laminas-diactoros/compare/2.24.1...2.24.2)
[Compare Source](https://togithub.com/laminas/laminas-diactoros/compare/2.24.1...2.24.2)
### [`v2.24.1`](https://togithub.com/laminas/laminas-diactoros/releases/tag/2.24.1)
[Compare Source](https://togithub.com/laminas/laminas-diactoros/compare/2.24.0...2.24.1)
##### Release Notes for [2.24.1](https://togithub.com/laminas/laminas-diactoros/milestone/52)
2.24.x bugfix release (patch)
##### 2.24.1
- Total issues resolved: **0**
- Total pull requests resolved: **1**
- Total contributors: **1**
##### Bug
- [135: Examine `X-Forwarded-Host` for additional port information](https://togithub.com/laminas/laminas-diactoros/pull/135) thanks to [@boesing](https://togithub.com/boesing)
Configuration
📅 Schedule: Branch creation - "" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
^2.7
->^2.24.2
GitHub Vulnerability Alerts
CVE-2023-29530
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:
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
Release Notes
laminas/laminas-diactoros
### [`v2.24.2`](https://togithub.com/laminas/laminas-diactoros/compare/2.24.1...2.24.2) [Compare Source](https://togithub.com/laminas/laminas-diactoros/compare/2.24.1...2.24.2) ### [`v2.24.1`](https://togithub.com/laminas/laminas-diactoros/releases/tag/2.24.1) [Compare Source](https://togithub.com/laminas/laminas-diactoros/compare/2.24.0...2.24.1) ##### Release Notes for [2.24.1](https://togithub.com/laminas/laminas-diactoros/milestone/52) 2.24.x bugfix release (patch) ##### 2.24.1 - Total issues resolved: **0** - Total pull requests resolved: **1** - Total contributors: **1** ##### Bug - [135: Examine `X-Forwarded-Host` for additional port information](https://togithub.com/laminas/laminas-diactoros/pull/135) thanks to [@boesing](https://togithub.com/boesing)Configuration
📅 Schedule: Branch creation - "" in timezone UTC, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
Read more information about the use of Renovate Bot within Laminas.