Skip to content
Heist/ feed
UnratedFix available

DEBIAN-CVE-2026-69246

Type: advisorySource: OSV1 source record

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.

Announced Source revision 1
Original source ↗

DEBIAN-CVE-2026-69246

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:DEBIAN-CVE-2026-69246

guzzle

Source reference: /affected/0/package/name

Affected versions
7.11.0-1

Source reference: /affected/0/versions

7.12.0-1

Source reference: /affected/0/versions

7.12.1-1

Source reference: /affected/0/versions

7.12.3-1

Source reference: /affected/0/versions

7.13.1-1

Source reference: /affected/0/versions

7.14.0-1

Source reference: /affected/0/versions

7.14.1-1

Source reference: /affected/0/versions

7.14.2-1

Source reference: /affected/0/versions

7.15.0-1

Source reference: /affected/0/versions

7.15.1-1

Source reference: /affected/0/versions

7.15.2-1

Source reference: /affected/0/versions

7.15.3-1

Source reference: /affected/0/versions

7.15.5-1

Source reference: /affected/0/versions

7.4.5-1

Source reference: /affected/0/versions

7.9.2-0.1

Source reference: /affected/0/versions

8.0.1-1

Source reference: /affected/0/versions

8.0.2-1

Source reference: /affected/0/versions

8.1.0-1

Source reference: /affected/0/versions

8.2.0-1

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

guzzle

Source reference: /affected/1/package/name

Affected versions
7.11.0-1

Source reference: /affected/1/versions

7.12.0-1

Source reference: /affected/1/versions

7.12.1-1

Source reference: /affected/1/versions

7.12.3-1

Source reference: /affected/1/versions

7.13.1-1

Source reference: /affected/1/versions

7.14.0-1

Source reference: /affected/1/versions

7.14.1-1

Source reference: /affected/1/versions

7.14.2-1

Source reference: /affected/1/versions

7.15.0-1

Source reference: /affected/1/versions

7.15.1-1

Source reference: /affected/1/versions

7.15.2-1

Source reference: /affected/1/versions

7.15.3-1

Source reference: /affected/1/versions

7.15.5-1

Source reference: /affected/1/versions

7.9.2-0.1

Source reference: /affected/1/versions

8.0.1-1

Source reference: /affected/1/versions

8.0.2-1

Source reference: /affected/1/versions

8.1.0-1

Source reference: /affected/1/versions

8.2.0-1

Source reference: /affected/1/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

guzzle

Source reference: /affected/2/package/name

Affected versions
7.11.0-1

Source reference: /affected/2/versions

7.12.0-1

Source reference: /affected/2/versions

7.12.1-1

Source reference: /affected/2/versions

7.12.3-1

Source reference: /affected/2/versions

7.13.1-1

Source reference: /affected/2/versions

7.14.0-1

Source reference: /affected/2/versions

7.14.1-1

Source reference: /affected/2/versions

7.14.2-1

Source reference: /affected/2/versions

7.15.0-1

Source reference: /affected/2/versions

7.15.1-1

Source reference: /affected/2/versions

7.9.2-0.1

Source reference: /affected/2/versions

Fixed versions
7.15.2-1

Source reference: /affected/2/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "guzzle",
      "purl": "pkg:deb/debian/guzzle?arch=source&distro=bookworm",
      "ecosystem": "Debian:12"
    },
    "versions": [
      "7.11.0-1",
      "7.12.0-1",
      "7.12.1-1",
      "7.12.3-1",
      "7.13.1-1",
      "7.14.0-1",
      "7.14.1-1",
      "7.14.2-1",
      "7.15.0-1",
      "7.15.1-1",
      "7.15.2-1",
      "7.15.3-1",
      "7.15.5-1",
      "7.4.5-1",
      "7.9.2-0.1",
      "8.0.1-1",
      "8.0.2-1",
      "8.1.0-1",
      "8.2.0-1"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-69246.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  },
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "guzzle",
      "purl": "pkg:deb/debian/guzzle?arch=source&distro=trixie",
      "ecosystem": "Debian:13"
    },
    "versions": [
      "7.11.0-1",
      "7.12.0-1",
      "7.12.1-1",
      "7.12.3-1",
      "7.13.1-1",
      "7.14.0-1",
      "7.14.1-1",
      "7.14.2-1",
      "7.15.0-1",
      "7.15.1-1",
      "7.15.2-1",
      "7.15.3-1",
      "7.15.5-1",
      "7.9.2-0.1",
      "8.0.1-1",
      "8.0.2-1",
      "8.1.0-1",
      "8.2.0-1"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-69246.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  },
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "7.15.2-1"
          }
        ]
      }
    ],
    "package": {
      "name": "guzzle",
      "purl": "pkg:deb/debian/guzzle?arch=source&distro=forky",
      "ecosystem": "Debian:14"
    },
    "versions": [
      "7.11.0-1",
      "7.12.0-1",
      "7.12.1-1",
      "7.12.3-1",
      "7.13.1-1",
      "7.14.0-1",
      "7.14.1-1",
      "7.14.2-1",
      "7.15.0-1",
      "7.15.1-1",
      "7.9.2-0.1"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-69246.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#58311 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement