CVE-2023-29197 json
Improper header name validation in guzzlehttp/psr7
published 2023-04-17 3 y ago modified 2026-06-17 4 mo ago also GHSA-wxmh-65f7-jcvw , EUVD-2023-1416
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 1.2%
- EPSS 1.2% chance of exploitation in 30 days, percentile 68%
- public exploits
- 0
- none known
Summary
guzzlehttp/psr7 is a PSR-7 HTTP message library implementation in PHP. Affected versions are subject to improper header parsing. An attacker could sneak in a newline (\n) into both the header names and values. While the specification states that \r\n\r\n is used to terminate the header list, many servers in the wild will also accept \n\n. This is a follow-up to CVE-2022-24775 where the fix was incomplete. The issue has been patched in versions 1.9.1 and 2.4.5. There are no known workarounds for this vulnerability. Users are advised to upgrade.
Patch / fix
- packagist guzzlehttp/psr7 1.9.1, 2.4.5
- guzzlephp psr-7 1.9.1, 2.4.5
- php-nyholm-psr7 Debian 14, Debian 13, Debian 12 1.5.1-2
- php-guzzlehttp-psr7 Debian 14, Debian 13, Debian 12 2.4.5-1
debian advisories DEBIAN-CVE-2023-29197
- php-guzzlehttp-psr7 Ubuntu 20.04 LTS 1.4.2-0.1+deb10u2build0.20.04.1
- php-nyholm-psr7 Ubuntu Pro 22.04 LTS 1.5.0-1ubuntu0.1~esm1
- php-guzzlehttp-psr7 Ubuntu Pro 22.04 LTS 1.8.3-1ubuntu0.1~esm1
ubuntu advisories UBUNTU-CVE-2023-29197
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-29197 updated cvss 5.3
guzzlehttp/psr7: Improper header validation in guzzlehttp/psr7
-
Red Hat All currently supported Red Hat productsnot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
1.22% chance of exploitation in the next 30 days, higher than 68% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| packagist | guzzlehttp/psr7 | <1.9.1 >=2.0.0, <2.4.5 |
1.9.1 2.4.5 |
Affected products
- guzzle psr7
Classification
- Weakness
-
- CWE-436 Interpretation Conflict
References
-
github.com
/guzzle/psr7/security/advisories/GHSA-wxmh-65f7-jcvw
web, vendor-advisory
-
github.com
/guzzle/psr7/security/advisories/GHSA-q7rv-6hp3-vh96
web, not-applicable
-
cve.mitre.org
/cgi-bin/cvename.cgi?name=2022-24775
web, not-applicable
-
rfc-editor.org
/rfc/rfc7230#section-3.2.4
web, technical-description
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/O35UN4IK6VS2LXSRWUDFWY7NI73RKY2U/
mailing-list, third-party-advisory
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/FJANWDXJZE5BGLN4MQ4FEHV5LJ6CMKQF/
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2023/12/msg00028.html
web
-
nvd.nist.gov
/vuln/detail/CVE-2023-29197
advisory
-
github.com
/FriendsOfPHP/security-advisories/blob/master/guzzlehttp/psr7/CVE-2023-29197.yaml
web
-
github.com
/guzzle/psr7
package
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/FJANWDXJZE5BGLN4MQ4FEHV5LJ6CMKQF
web
-
lists.fedoraproject.org
/archives/list/package-announce@lists.fedoraproject.org/message/O35UN4IK6VS2LXSRWUDFWY7NI73RKY2U
web
Sources
- CVE List CVE-2023-29197
- GitHub Advisory GHSA-wxmh-65f7-jcvw
- NVD CVE-2023-29197
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.