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()`.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2023-29530
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 8 Nov 2026, 00:23 UTC · Revision 1
Source evidence
Laminas Diactoros vulnerable to HTTP Multiline Header Termination
core-osv · Original sourcePublished 24 Apr 2023, 19:34 UTC
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()`.
osv:CVE-2023-29530
Complete source record
{
"id": "1b8ec237a6be2f0c7a2ba43f5c35fb45f205058b793cf13ab640581e6aeecb9f",
"url": "https://osv.dev/vulnerability/CVE-2023-29530",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Laminas Diactoros vulnerable to HTTP Multiline Header Termination",
"summary": "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()`.",
"evidence": "osv:CVE-2023-29530",
"products": [],
"severity": "high",
"structured": {
"id": "CVE-2023-29530",
"aliases": [
"CVE-2023-29530",
"GHSA-xv3h-4844-9h36"
],
"metrics": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/guzzle/psr7",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "e4490cabc77465aaee90b20cfc9a770f8c04be6b"
},
{
"introduced": "1dc8d9cba3897165e16d12bb13d813afb1eb3fe7"
},
{
"fixed": "0454e12ef0cd597ccd2adb036f7bda4e7fface66"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:guzzlephp:psr-7:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "1.9.1"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:guzzlephp:psr-7:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.0.0"
},
{
"fixed": "2.4.5"
}
],
"source": "CPE_RANGE"
}
]
}
},
{
"repo": "https://github.com/laminas/laminas-diactoros",
"type": "GIT",
"events": [
{
"introduced": "0"
},
{
"fixed": "31d4ac32fb4fba90f95bf5f7fa727ae1ab4098a4"
},
{
"introduced": "b3c7e9262b4fbec801d8df2370cdebb4f5d3a0ae"
},
{
"last_affected": "0e9dd2516460be1a9c26ccdf9091ef293a1c3c6f"
}
],
"database_specific": {
"extracted_events": [
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "2.18.1"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.19.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.19.0"
},
{
"last_affected": "2.19.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.20.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.20.0"
},
{
"last_affected": "2.20.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.21.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.21.0"
},
{
"last_affected": "2.21.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.22.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.22.0"
},
{
"last_affected": "2.22.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.23.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.23.0"
},
{
"last_affected": "2.23.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.24.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.24.0"
},
{
"last_affected": "2.24.0"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:getlaminas:laminas-diactoros:2.25.0:*:*:*:*:*:*:*",
"range": [
{
"introduced": "2.25.0"
},
{
"last_affected": "2.25.0"
}
],
"source": "CPE_STRING"
}
]
}
}
],
"versions": [
"2.19.0",
"2.20.0",
"2.21.0",
"2.22.0",
"2.23.0",
"2.24.0",
"2.25.0",
"= 2.19.0",
"= 2.20.0",
"= 2.21.0",
"= 2.22.0",
"= 2.23.0",
"= 2.24.0",
"= 2.25.0",
"2.4.4",
"1.9.0",
"2.4.3",
"2.4.2",
"2.4.1",
"2.4.0",
"1.8.5",
"2.3.0",
"2.2.2",
"2.2.1",
"2.2.0",
"1.8.4",
"2.1.0",
"1.8.3",
"2.0.0",
"1.8.2",
"1.8.1",
"1.8.0",
"1.7.0",
"1.6.1",
"1.6.0",
"1.5.0",
"1.5.2",
"1.5.1",
"1.4.2",
"1.4.1",
"1.4.0",
"1.3.1",
"1.3.0",
"1.2.3",
"1.2.2",
"1.2.1",
"1.2.0",
"1.1.0",
"1.0.0",
"2.18.0",
"2.17.0",
"2.16.0",
"2.15.0",
"2.14.0",
"2.13.0",
"2.12.0",
"2.11.0",
"2.10.0",
"2.9.0",
"2.8.0",
"2.7.0",
"2.6.0",
"2.5.0",
"2.2.3"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2023-29530.json"
}
}
],
"modified": "2026-10-28T02:30:52.115515663Z",
"provider": "osv",
"references": [
"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/BPW54QK7ISDALPLP2CKODU4ZIVRYS336/",
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/29xxx/CVE-2023-29530.json",
"https://github.com/advisories/GHSA-wxmh-65f7-jcvw",
"https://github.com/laminas/laminas-diactoros/security/advisories/GHSA-xv3h-4844-9h36",
"https://nvd.nist.gov/vuln/detail/CVE-2023-29530"
],
"provider_metadata": {
"cwe_ids": [
"CWE-20"
],
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/29xxx/CVE-2023-29530.json"
}
},
"related_cves": [
{
"value": "CVE-2023-29530",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 520935,
"published_at": "2023-04-24T19:34:40.294+00:00"
}