CVE catalog

CVE-2026-69246

Guzzle is an extensible PHP HTTP client. Prior to 7.15.2 and 8.0.1, Guzzle gives a transport the request URI as text and supplies the Host header separately. The cURL handlers set CURLOPT_URL to the U

[CVE catalog]

Severity
High · CVSS 7.2CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
Published
Source
[NVD] · [CVE record]
EPSS
0.37% · Oct 25, 2026

Guzzle is an extensible PHP HTTP client. Prior to 7.15.2 and 8.0.1, Guzzle gives a transport the request URI as text and supplies the Host header separately. The cURL handlers set CURLOPT_URL to the URI exactly as written and push that Host into CURLOPT_HTTPHEADER; StreamHandler does the same through fopen(). libcurl then parses the authority itself, percent-decoding it and, on an IDN-capable build, applying IDNA mapping, and uses the result to resolve, connect, name the TLS peer and address a proxy CONNECT, while the supplied Host suppresses the aligned one libcurl would have generated. For a URI host written as 127.0.0.%31, filter_var() rejects the host as an IP literal, yet libcurl decodes it to 127.0.0.1 and reaches loopback with no DNS lookup while the server receives Host: 127.0.0.%31. An attacker who influences a fetched URI can therefore reach a host the application's checks excluded and read whatever the host exposes of the response. The same divergence moves Guzzle's own decisions onto a spelling the transport does not use: no_proxy selects proxy routing from the literal host, and RedirectMiddleware decides from it whether to strip Authorization and Cookie. Exploitation requires the application to build a request URI from untrusted input and to make a host decision before handing it to Guzzle. This issue is fixed in versions 7.15.2 and 8.0.1.

Vulnerable and fixed packages

Distribution-reported package versions and fixes. These do not depend on matching against the OpenFactory package catalog.

DistributionPackageReleaseVersionStatus
Debianguzzlesid7.15.5-1fixed
Debianguzzleforky7.15.5-1fixed
Debianguzzletrixie7.9.2-0.1vulnerable
Debianguzzlebookworm7.4.5-1vulnerable
Composerguzzlehttp/guzzleNot reported7.15.2fixed
Composerguzzlehttp/guzzleNot reported8.0.1fixed

Fixed-version evidence

DistributionPackageTypeReleaseFixed versionUrgencyOriginBugs
Debianguzzlesourcesid7.15.2-1not yet assignedNot reported[1143595]
Debianguzzlesourceforky7.15.2-1not yet assignedNot reported[1143595]
Debianguzzlesourcetrixie(unfixed)not yet assignedNot reported[1143595]
Debianguzzlesourcebookworm(unfixed)not yet assignedNot reported[1143595]
Composerguzzlehttp/guzzlecomposerNot reported7.15.2Not reportedNot reportedNot reported
Composerguzzlehttp/guzzlecomposerNot reported8.0.1Not reportedNot reportedNot reported

[Debian bug #1143595]

Notes

[trixie] guzzle: Minor issue [bookworm] guzzle: Minor issue

OpenFactory catalog packages

[Debian 12 (Bookworm)]

  • Source package: [guzzle]

    Details (2)
    • 7.4.5-1 · all · bookworm

      Affected

      nvd · guzzle · debian · bookworm; nvd · guzzle · debian · 12

    • 7.4.5-1 · all · bookworm

      Affected

      nvd · guzzle · debian · bookworm; nvd · guzzle · debian · 12

[Debian 13 (Trixie)]

  • Source package: [guzzle]

    Details (2)
    • 7.9.2-0.1 · all · trixie

      Affected

      nvd · guzzle · debian · 13

    • 7.9.2-0.1 · all · trixie

      Affected

      nvd · guzzle · debian · 13

Observed:

References