{"id":"CVE-2022-24775","aliases":["BIT-drupal-2022-24775","CLSA-2026-1783991045","CLSA-2026-1786527009","CLSA-2026-1788257251","DEBIAN-CVE-2022-24775","DRUPAL-CORE-2022-006","EUVD-2022-1513","GHSA-q7rv-6hp3-vh96","UBUNTU-CVE-2022-24775","USN-6670-1"],"status":"published","title":"Improper Input Validation in guzzlehttp/psr7","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-09","score":0.0248,"percentile":0.84695,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-20"],"published":"2022-03-21T19:00:17Z","modified":"2026-11-03T08:03:50Z","fixes":[{"ecosystem":"Packagist","package":"guzzlehttp/psr7","fixed_in":["1.8.4","2.1.1"],"sources":["ghsa","osv"]},{"ecosystem":"Bitnami","package":"drupal","fixed_in":["9.2.16","9.3.9"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"php-guzzlehttp-psr7","fixed_in":["1.8.5-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"php-guzzlehttp-psr7","fixed_in":["1.8.5-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"php-guzzlehttp-psr7","fixed_in":["1.8.5-1"],"sources":["osv"]},{"ecosystem":"Packagist","package":"drupal/core","fixed_in":["9.2.16","9.3.9"],"sources":["osv"]},{"ecosystem":"Ubuntu:20.04:LTS","package":"php-guzzlehttp-psr7","fixed_in":["1.4.2-0.1+deb10u2build0.20.04.1"],"sources":["osv"]},{"ecosystem":"Ubuntu:Pro:22.04:LTS","package":"php-guzzlehttp-psr7","fixed_in":["1.8.3-1ubuntu0.1~esm1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"Packagist","package":"guzzlehttp/psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.4"}]}]},{"source":"ghsa","ecosystem":"Packagist","package":"guzzlehttp/psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.1.1"}]}]},{"source":"osv","ecosystem":"Bitnami","package":"drupal","ranges":[{"type":"SEMVER","events":[{"introduced":"8.0.0"},{"fixed":"9.2.16"},{"introduced":"9.3.0"},{"fixed":"9.3.9"}]}]},{"source":"osv","ecosystem":"TuxCare:Packagist","package":"guzzlehttp/psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.4.2"},{"fixed":"1.4.2-p1+tuxcare"}]}],"versions":["1.4.2"],"bundled":3},{"source":"osv","ecosystem":"TuxCare:Packagist","package":"guzzlehttp/psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.1.0"},{"fixed":"1.1.0-p1+tuxcare"}]}],"versions":["1.1.0"],"bundled":5},{"source":"osv","ecosystem":"Debian:12","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.5-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.5-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.5-1"}]}]},{"source":"osv","ecosystem":"Packagist","package":"drupal/core","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"8.0.0"},{"fixed":"9.2.16"}]},{"type":"ECOSYSTEM","events":[{"introduced":"9.3.0"},{"fixed":"9.3.9"}]}],"versions":["8.0.0","8.0.1","8.0.2","8.0.3","8.0.4","8.0.5","8.0.6","8.1.0","8.1.0-beta1","8.1.0-beta2","8.1.0-rc1","8.1.1","8.1.10","8.1.2","8.1.3","8.1.4","8.1.5","8.1.6","8.1.7","8.1.8","8.1.9","8.2.0","8.2.0-beta1","8.2.0-beta2","8.2.0-beta3","8.2.0-rc1","8.2.0-rc2","8.2.1","8.2.2","8.2.3","8.2.4","8.2.5","8.2.6","8.2.7","8.2.8","8.3.0","8.3.0-alpha1","8.3.0-beta1","8.3.0-rc1","8.3.0-rc2","8.3.1","8.3.2","8.3.3","8.3.4","8.3.5","8.3.6","8.3.7","8.3.8","8.3.9","8.4.0","8.4.0-alpha1","8.4.0-beta1","8.4.0-rc1","8.4.0-rc2","8.4.1","8.4.2","8.4.3","8.4.4","8.4.5","8.4.6","8.4.7","8.4.8","8.5.0","8.5.0-alpha1","8.5.0-beta1","8.5.0-rc1","8.5.1","8.5.10","8.5.11","8.5.12","8.5.13","8.5.14","8.5.15","8.5.2","8.5.3","8.5.4","8.5.5","8.5.6","8.5.7","8.5.8","8.5.9","8.6.0","8.6.0-alpha1","8.6.0-beta1","8.6.0-beta2","8.6.0-rc1","8.6.1","8.6.10","8.6.11","8.6.12","8.6.13","8.6.14","8.6.15","8.6.16","8.6.17","8.6.18","8.6.2","8.6.3","8.6.4","8.6.5","8.6.6","8.6.7","8.6.8","8.6.9","8.7.0","8.7.0-alpha1","8.7.0-alpha2","8.7.0-beta1","8.7.0-beta2","8.7.0-rc1","8.7.1","8.7.10","8.7.11","8.7.12","8.7.13","8.7.14","8.7.2","8.7.3","8.7.4","8.7.5","8.7.6","8.7.7","8.7.8","8.7.9","8.8.0","8.8.0-alpha1","8.8.0-beta1","8.8.0-rc1","8.8.1","8.8.10","8.8.11","8.8.12","8.8.2","8.8.3","8.8.4","8.8.5","8.8.6","8.8.7","8.8.8","8.8.9","8.9.0","8.9.0-beta1","8.9.0-beta2","8.9.0-beta3","8.9.0-rc1","8.9.1","8.9.10","8.9.11","8.9.12","8.9.13","8.9.14","8.9.15","8.9.16","8.9.17","8.9.18","8.9.19","8.9.2","8.9.20","8.9.3","8.9.4","8.9.5","8.9.6","8.9.7","8.9.8","8.9.9","9.0.0","9.0.0-alpha1","9.0.0-alpha2","9.0.0-beta1","9.0.0-beta2","9.0.0-beta3","9.0.0-rc1","9.0.1","9.0.10","9.0.11","9.0.12","9.0.13","9.0.14","9.0.2","9.0.3","9.0.4","9.0.5","9.0.6","9.0.7","9.0.8","9.0.9","9.1.0","9.1.0-alpha1","9.1.0-beta1","9.1.0-rc1","9.1.0-rc2","9.1.0-rc3","9.1.1","9.1.10","9.1.11","9.1.12","9.1.13","9.1.14","9.1.15","9.1.2","9.1.3","9.1.4","9.1.5","9.1.6","9.1.7","9.1.8","9.1.9","9.2.0","9.2.0-alpha1","9.2.0-beta1","9.2.0-beta2","9.2.0-beta3","9.2.0-rc1","9.2.1","9.2.10","9.2.11","9.2.12","9.2.13","9.2.14","9.2.15","9.2.2","9.2.3","9.2.4","9.2.5","9.2.6","9.2.7","9.2.8","9.2.9","9.3.0","9.3.1","9.3.2","9.3.3","9.3.4","9.3.5","9.3.6","9.3.7","9.3.8"]},{"source":"osv","ecosystem":"Packagist","package":"guzzlehttp/psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.4"}]}],"versions":["1.0.0","1.1.0","1.2.0","1.2.1","1.2.2","1.2.3","1.3.0","1.3.1","1.4.0","1.4.1","1.4.2","1.5.0","1.5.1","1.5.2","1.6.0","1.6.1","1.7.0","1.8.0","1.8.1","1.8.2","1.8.3"]},{"source":"osv","ecosystem":"Packagist","package":"guzzlehttp/psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0.0"},{"fixed":"2.1.1"}]}],"versions":["2.0.0","2.1.0"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["1.1.0-1","1.2.0-1","1.2.1-1","1.2.2-1","1.2.2-1build1","1.2.2-1ubuntu1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.2-0.1+deb10u2build0.20.04.1"}]}],"versions":["1.4.2-0.1"]},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.3-1ubuntu0.1~esm1"}]}],"versions":["1.7.0-1","1.8.3-1"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.4.2-0.1+deb10u2build0.20.04.1"}]}],"versions":["1.4.2-0.1"],"bundled":2},{"source":"osv","ecosystem":"Ubuntu:Pro:22.04:LTS","package":"php-guzzlehttp-psr7","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.8.3-1ubuntu0.1~esm1"}]}],"versions":["1.7.0-1","1.8.3-1"],"bundled":2}],"products":[{"vendor":"drupal","product":"drupal"},{"vendor":"guzzle","product":"psr7"},{"vendor":"guzzlephp","product":"psr-7"}],"references":[{"url":"https://github.com/guzzle/psr7/security/advisories/GHSA-q7rv-6hp3-vh96","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/guzzle/psr7/pull/485/commits/e55afaa3fc138c89adf3b55a8ba20dc60d17f1f1","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","advisory","web","report"]},{"url":"https://github.com/guzzle/psr7/pull/486/commits/9a96d9db668b485361ed9de7b5bf1e54895df1dc","tags":["x_refsource_MISC","x_transferred","Patch","Third Party Advisory","advisory","web","report"]},{"url":"https://www.drupal.org/sa-core-2022-006","tags":["x_refsource_CONFIRM","x_transferred","Patch","Third Party Advisory","advisory","web","report"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2022-24775","tags":["web","advisory"]},{"url":"https://www.rfc-editor.org/rfc/rfc7230#section-3.2.4","tags":["web"]},{"url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/guzzlehttp/psr7/CVE-2022-24775.yaml","tags":["web"]},{"url":"https://github.com/advisories/GHSA-q7rv-6hp3-vh96"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/24xxx/CVE-2022-24775.json","tags":["advisory"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2022-24775","tags":["advisory"]},{"url":"https://github.com/guzzle/psr7","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2022-24775","tags":["report"]},{"url":"https://ubuntu.com/security/notices/USN-6670-1","tags":["advisory"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2022-24775","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2023-29197","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2022-24775","title":"Improper Input Validation in guzzlehttp/psr7","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2022-03-21T19:00:17Z","modified":"2025-04-23T18:45:20.759Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"cna"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:34:34.576287Z"}],"euvd":[{"id":"EUVD-2022-1513","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2022-03-21T19:00:17Z","modified":"2025-04-23T18:45:20Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T20:52:07.950001Z"}],"ghsa":[{"id":"GHSA-q7rv-6hp3-vh96","title":"Improper Input Validation in guzzlehttp/psr7","description":"### Impact\n\nImproper header parsing. An attacker could sneak in a carriage return character (`\\r`) and pass untrusted values in both the header names and values.\n\n### Patches\n\nThe issue is patched in 1.8.4 and 2.1.1.\n\n### Workarounds\n\nThere are no known workarounds.\n\n### References\n\n* https://www.rfc-editor.org/rfc/rfc7230#section-3.2.4\n","status":"published","published":"2022-03-25T19:26:33Z","modified":"2024-02-05T10:42:42Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:37:35.293818Z"}],"nvd":[{"id":"CVE-2022-24775","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2022-03-21T19:15:11.677Z","modified":"2026-06-17T04:32:29.66Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"secondary"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary"},{"version":"2.0","score":5,"vector":"AV:N/AC:L/Au:N/C:N/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:07:14.24948Z"}],"osv":[{"id":"CVE-2022-24775","title":"Improper Input Validation in guzzlehttp/psr7","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2022-03-21T19:00:17Z","modified":"2026-10-28T02:30:45.125386166Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:44:24.428403Z"},{"id":"DEBIAN-CVE-2022-24775","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2022-03-21T19:15:11.677Z","modified":"2026-11-03T08:03:50.745786669Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-03T08:23:57.167851Z"},{"id":"GHSA-q7rv-6hp3-vh96","title":"Improper Input Validation in guzzlehttp/psr7","description":"### Impact\n\nImproper header parsing. An attacker could sneak in a carriage return character (`\\r`) and pass untrusted values in both the header names and values.\n\n### Patches\n\nThe issue is patched in 1.8.4 and 2.1.1.\n\n### Workarounds\n\nThere are no known workarounds.\n\n### References\n\n* https://www.rfc-editor.org/rfc/rfc7230#section-3.2.4\n","status":"published","published":"2022-03-25T19:26:33Z","modified":"2026-02-04T03:15:15.096166Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N","level":"medium"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:54.055966Z"},{"id":"UBUNTU-CVE-2022-24775","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2022-03-21T19:15:00Z","modified":"2026-02-04T03:52:24.309858Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"},{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"updated_at":"2026-11-02T16:53:53.13624Z"},{"id":"BIT-drupal-2022-24775","title":"Improper Input Validation in guzzlehttp/psr7","description":"guzzlehttp/psr7 is a PSR-7 HTTP message library. Versions prior to 1.8.4 and 2.1.1 are vulnerable to improper header parsing. An attacker could sneak in a new line character and pass untrusted values. The issue is patched in 1.8.4 and 2.1.1. There are currently no known workarounds.","status":"published","published":"2024-03-06T10:53:59.062Z","modified":"2026-09-08T08:47:01.889590799Z","updated_at":"2026-11-02T15:28:29.563843Z"},{"id":"CLSA-2026-1783991045","title":"TuxCare security update for guzzlehttp/psr7 (3 CVEs)","description":"TuxCare rebuilt guzzlehttp/psr7 to address 3 CVEs. Fixed in 1.4.2-p1+tuxcare.","status":"published","published":"2026-08-04T14:52:43Z","modified":"2026-10-15T09:47:53.471029244Z","updated_at":"2026-11-02T15:43:46.151924Z"},{"id":"CLSA-2026-1786527009","title":"TuxCare security update for guzzlehttp/psr7 (5 CVEs)","description":"TuxCare rebuilt guzzlehttp/psr7 to address 5 CVEs. Fixed in 1.1.0-p1+tuxcare.","status":"published","published":"2026-08-12T09:30:09Z","modified":"2026-10-15T09:47:59.529563331Z","updated_at":"2026-11-02T15:43:46.850893Z"},{"id":"CLSA-2026-1788257251","title":"TuxCare security update for league/oauth2-client (3 CVEs)","description":"TuxCare rebuilt league/oauth2-client to address 3 CVEs. Fixed in 1.4.2-p1+tuxcare.","status":"withdrawn","published":"2026-09-01T10:07:31Z","modified":"2026-10-26T13:21:31Z","updated_at":"2026-11-02T15:43:47.591214Z"},{"id":"DRUPAL-CORE-2022-006","description":"Drupal uses the third-party Guzzle library for handling HTTP requests and responses to external services. [Guzzle has released a security update](https://github.com/guzzle/psr7/security/advisories/GHSA-q7rv-6hp3-vh96)  which may affect some Drupal sites.\n\nWe are issuing this security advisory outside our regular [Drupal security release window schedule](https://www.drupal.org/node/1173280) since Guzzle has already published information about the vulnerability, and vulnerabilities might exist with core, contributed modules, or custom modules that use Guzzle for outgoing requests. Guzzle has rated this vulnerability as low-risk.\n\nThis advisory is not covered by Drupal Steward.","status":"published","published":"2022-03-21T21:39:35Z","modified":"2026-09-19T18:11:37Z","updated_at":"2026-11-02T15:46:13.900249Z"},{"id":"USN-6670-1","title":"php-guzzlehttp-psr7 vulnerabilities","description":"It was discovered that php-guzzlehttp-psr7 incorrectly parsed HTTP\nheaders. A remote attacker could possibly use these issues to perform\nan HTTP header injection attack.\n","status":"published","published":"2024-02-29T15:52:29Z","modified":"2026-04-27T17:06:40.199735Z","updated_at":"2026-11-02T16:58:17.914523Z"}]}}
