LiveActive security incident?Get immediate response
CVE Record

CVE-2022-31090: CURLOPT_HTTPAUTH option not cleared on change of origin in Guzzle

Guzzle, an extensible PHP HTTP client. `Authorization` headers on requests are sensitive information. In affected versions when using our Curl handler, it is possible to use the `CURLOPT_HTTPAUTH` option to specify an `Authorization` header. On making a request which responds with a redirect to a URI with a different origin (change in host, scheme or port), if we choose to follow it, we should remove the `CURLOPT_HTTPAUTH` option before continuing, stopping curl from appending the `Authorization` header to the new request. Affected Guzzle 7 users should upgrade to Guzzle 7.4.5 as soon as possible. Affected users using any earlier series of Guzzle should upgrade to Guzzle 6.5.8 or 7.4.5. Note that a partial fix was implemented in Guzzle 7.4.2, where a change in host would trigger removal of the curl-added Authorization header, however this earlier fix did not cover change in scheme or change in port. If you do not require or expect redirects to be followed, one should simply disable redirects all together. Alternatively, one can specify to use the Guzzle steam handler backend, rather than curl.

HighCVSS 7.7Not KEV-listedUpdated
Glexia's TakeAutomated analysishigh

Security readout for executives and security teams

Plain-English summary

A PHP application using vulnerable Guzzle can accidentally send Authorization credentials to a different origin after a redirect. That can expose API tokens or credentials to a host, scheme, or port that should not receive them. The issue is confidentiality-focused, not remote code execution.

Executive priority

Prioritize remediation for internet-facing or partner-integrated PHP services that send Authorization credentials with Guzzle and follow redirects. The business risk is credential leakage and downstream account or API misuse, even though the sources do not show active exploitation.

Technical view

In affected Guzzle versions using the Curl handler, CURLOPT_HTTPAUTH was not cleared when following redirects to a different origin. Curl could append the Authorization header to the redirected request. Guzzle 7.4.2 only partially handled host changes; 6.5.8 and 7.4.5 address the broader origin change.

Likely exposure

Exposure is most likely in PHP services using guzzlehttp/guzzle <6.5.8 or 7.0.0 through 7.4.4, the Curl handler, CURLOPT_HTTPAUTH, and automatic redirect following. Applications not following redirects, not using Curl, or already upgraded are less likely exposed.

Exploitation context

The provided sources and KEV status do not support active exploitation. The risk occurs when a request receives and follows a redirect to a different host, scheme, or port, causing sensitive Authorization data to be sent outside the intended origin.

Researcher notes

This is CWE-200 with CVSS 7.7, scope changed, and high confidentiality impact. The advisory specifically notes an incomplete 7.4.2 fix for host-only changes; validation should include scheme and port changes as part of origin handling.

Mitigation direction

  • Upgrade affected Guzzle 7 users to 7.4.5 or later.
  • Upgrade earlier Guzzle series to 6.5.8 or 7.4.5.
  • Disable redirect following where redirects are not required or expected.
  • Use Guzzle's stream handler instead of the Curl handler where appropriate.
  • Check Debian, Gentoo, or other distro advisories for packaged fixes.

Validation and detection

  • Inventory Composer dependencies for guzzlehttp/guzzle vulnerable version ranges.
  • Identify code paths using the Curl handler with CURLOPT_HTTPAUTH.
  • Review whether those requests follow redirects automatically.
  • Check whether redirects can cross host, scheme, or port boundaries.
  • Confirm deployed packages resolve to 6.5.8, 7.4.5, or later fixed versions.
Prepared
Confidence
high
Sources
6

Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.

Potential ATT&CK relevance

Conservative CVE-to-ATT&CK context

These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.

ATT&CK lookup starting points

Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.

cwe · medium confidence lookup

CWE-200: Information exposure and cloud metadata lookup

Information exposure and SSRF weaknesses can make discovery, cloud metadata, and credential material review relevant. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.

Open ATT&CK lookup
cve · low confidence lookup

CVE-2022-31090 mapping review

Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.

Open ATT&CK lookup
Vulnerability profileCVE Program record
Severity
High
CVSS
7.7 (3.1)
Known Exploited
No
Published

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N

Official CVE source material

CNA and ADP enrichment extracted from CVE v5

These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.

1CVSS vectors
0Timeline events
0ADP providers
5Source links

CVSS vector scores

1 official score

We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.

ScoreVersionSeverityVectorExploitImpactSource
7.7CVSS 3.1HighCVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N3.14Primary CVE score

Vulnerability scoring details

Base CVSS 3.1 score

7.7High
CVSS 3.1 vector shape for CVE-2022-31090Attack VectorAttack ComplexityPrivileges RequiredUser InteractionScopeConfidentiality ImpactIntegrity ImpactAvailability Impact

Vector: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N

Attack Vector
NetworkAdjacentLocalPhysical
Attack Complexity
LowHigh
Privileges Required
NoneLowHigh
User Interaction
NoneRequired
Scope
ChangedUnchanged
Confidentiality Impact
HighLowNone
Integrity Impact
HighLowNone
Availability Impact
HighLowNone
Affected products

Products and packages named in the record

VendorProductVersion / packageStatus
guzzleguzzle< 6.5.8, >=7.0.0, < 7.4.5Listed
Weakness

CWE details

CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.