CVE-2026-121971
Symfony: ScopingHttpClient Sends the Credentials of Its Default Scope to Other Origins Through Network-Path References
No known exploitation. EPSS puts it in the 16th percentile. Fixed versions are out.
No public exploit knownFix1 product4 fixed builds listed below
e.g. OID 1.3.6.1.4.1.25623.1.0.180997
What to do
Find your product and version, then upgrade to the build on the right.
- Sensiolabs SymfonyAffected: < 5.4.56Upgrade to: 5.4.56Affected: ≥ 6.0.0, < 6.4.50Upgrade to: 6.4.50Affected: ≥ 7.0.0, < 7.4.23Upgrade to: 7.4.23Affected: ≥ 8.0.0, < 8.1.11Upgrade to: 8.1.11Stated by: CVE record
Versions as the sources state them. Full version matrix after sign-in
What it is
From the CVE record
The component ScopingHttpClient in Symfony HttpClient merges the options of its default scope (such as auth_bearer or auth_basic) into a request before resolving a relative URL against the base_uri, allowing a network-path reference such as "//evil.example/steal" to be sent to another origin together with the default scope’s credentials, and resulting in potential disclosure of those credentials to an attacker-controlled server. This affects Symfony in versions 5.x prior to 5.4.56, 6.x prior to 6.4.50, 7.x prior to 7.4.23, and 8.x prior to 8.1.11. The resolved URL falls outside the origin of the base URI, yet it keeps the merged options, whereas the absolute spelling "https://evil.example/steal" receives none. The same happens with a different port or user-info part on the same host. This is reachable whenever an attacker controls the beginning of a URL passed to a client built with a base_uri and credentials, including those created with HttpClient::createForBaseUri() or configured under framework.http_client.scoped_clients. To solve the issue, after resolving a relative URL against the base URI of the default scope, ScopingHttpClient now compares the scheme and authority of the result with those of the base URI, parsed the way the request is sent.
In plain language
No plain-language summary for this CVE yet.
Exploitation
Where each signal puts this CVE on the scale from published to confirmed exploited.
- CISA KEV
Not in the catalog. CISA has not confirmed exploitation.
- Public exploits
No public exploit or proof of concept found in the sources we track.
- EPSS
0.2% chance of exploitation activity in the next 30 days, which ranks it in the 16th percentile of scored CVEs.
Exploit Prediction Scoring System, FIRST.org. A probability, not a confirmation.
Lifecycle
7 events over 5 days, from the signal feeds we watch.
- OpenVAS check added
- Record updated
- Record updated
- Publishedweakness classified, att&ck mapped, record updated
Affected products
Technical detail
Weaknesses
ATT&CK techniques
Mapped from the weaknesses above (CWE to ATT&CK), not observed in attacks.
Sources
Watch the software you run.
My Stack ranks new CVEs for your products by real-world exploitation, so the next serious one reaches you without reading every advisory.
We'll flag the next CVE, public exploit or patch for Symfony, not every advisory.
A free account adds
- The full version matrix and every affected product
- Exploit links, proofs of concept and Metasploit modules
- Email alerts for the products you watch
- The same data over REST API, MCP and CLI