p PatchFirst

CVE-2026-69246

CVE-2026-69246 · Guzzle: Noncanonical host can bypass host-based checks

Здесь приведены факты из открытых источников об уязвимостях. Перед обновлением ознакомьтесь с исходным сообщением.

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.

CVSS 7.2 · Высокий · EPSS 0,4% · Есть исправление

Опубликовано
Обновлено

Стек: system · php

Затронутые продукты и версии

  • guzzle

    Версии
    • >= 8.0.0, < 8.0.1: Затронуто
    • < 7.15.2: Затронуто

    Нет опубликованного исправления

  • guzzle Debian:12

    Версии
    • 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
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

  • guzzle Debian:13

    Версии
    • 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
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

  • guzzle Debian:14

    Версии
    • 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
    Затронутые диапазоны версий
    • ECOSYSTEM: < 7.15.2-1

    Обновитесь до 7.15.2-1

  • guzzlehttp/guzzle Packagist

    Версии
    • 4.0.0
    • 4.0.0-rc.1
    • 4.0.0-rc.2
    • 4.0.1
    • 4.0.2
    • 4.1.0
    • 4.1.1
    • 4.1.2
    • 4.1.3
    • 4.1.4
    • 4.1.5
    • 4.1.6
    • 4.1.7
    • 4.1.8
    • 4.2.0
    • 4.2.1
    • 4.2.2
    • 4.2.3
    • 4.2.4
    • 5.0.0
    • 5.0.1
    • 5.0.2
    • 5.0.3
    • 5.1.0
    • 5.2.0
    • 5.3.0
    • 5.3.1
    • 5.3.2
    • 5.3.3
    • 5.3.4
    • 6.0.0
    • 6.0.1
    • 6.0.2
    • 6.1.0
    • 6.1.1
    • 6.2.0
    • 6.2.1
    • 6.2.2
    • 6.2.3
    • 6.3.0
    • 6.3.1
    • 6.3.2
    • 6.3.3
    • 6.4.0
    • 6.4.1
    • 6.5.0
    • 6.5.1
    • 6.5.2
    • 6.5.3
    • 6.5.4
    • 6.5.5
    • 6.5.6
    • 6.5.7
    • 6.5.8
    • 7.0.0
    • 7.0.0-beta.1
    • 7.0.0-beta.2
    • 7.0.0-rc.1
    • 7.0.1
    • 7.1.0
    • 7.1.1
    • 7.10.0
    • 7.10.1
    • 7.10.2
    • 7.10.3
    • 7.10.4
    • 7.10.5
    • 7.10.6
    • 7.11.0
    • 7.11.1
    • 7.11.2
    • 7.12.0
    • 7.12.1
    • 7.12.2
    • 7.12.3
    • 7.13.0
    • 7.13.1
    • 7.13.2
    • 7.13.3
    • 7.14.0
    • 7.14.1
    • 7.14.2
    • 7.15.0
    • 7.15.1
    • 7.2.0
    • 7.3.0
    • 7.4.0
    • 7.4.1
    • 7.4.2
    • 7.4.3
    • 7.4.4
    • 7.4.5
    • 7.5.0
    • 7.5.1
    • 7.5.2
    • 7.5.3
    • 7.6.0
    • 7.6.1
    • 7.7.0
    • 7.7.1
    • 7.8.0
    • 7.8.1
    • 7.8.2
    • 7.9.0
    • 7.9.1
    • 7.9.2
    • 7.9.3
    • v1.0.3
    • v1.0.4
    • v2.0.0
    • v2.0.1
    • v2.0.2
    • v2.0.3
    • v2.0.4
    • v2.0.5
    • v2.1.0
    • v2.1.1
    • v2.1.2
    • v2.1.3
    • v2.1.4
    • v2.2.0
    • v2.2.1
    • v2.2.2
    • v2.2.3
    • v2.2.4
    • v2.3.2
    • v2.4.0
    • v2.4.1
    • v2.5.0
    • v2.6.0
    • v2.6.1
    • v2.6.2
    • v2.6.3
    • v2.6.4
    • v2.6.5
    • v2.6.6
    • v2.7.0
    • v2.7.1
    • v2.7.2
    • v2.8.0
    • v2.8.1
    • v2.8.2
    • v2.8.3
    • v2.8.4
    • v2.8.5
    • v2.8.6
    • v2.8.7
    • v2.8.8
    • v3.0.0
    • v3.0.1
    • v3.0.2
    • v3.0.3
    • v3.0.4
    • v3.0.5
    • v3.0.6
    • v3.0.7
    • v3.1.0
    • v3.1.1
    • v3.1.2
    • v3.2.0
    • v3.3.0
    • v3.3.1
    • v3.4.0
    • v3.4.1
    • v3.4.2
    • v3.4.3
    • v3.5.0
    • v3.6.0
    • v3.7.0
    • v3.7.1
    • v3.7.2
    • v3.7.3
    • v3.7.4
    • v3.8.0
    • v3.8.1
    Затронутые диапазоны версий
    • ECOSYSTEM: < 7.15.2

    Обновитесь до 7.15.2

  • guzzlehttp/guzzle Packagist

    Версии
    • 8.0.0
    Затронутые диапазоны версий
    • ECOSYSTEM: ≥ 8.0.0, < 8.0.1

    Обновитесь до 8.0.1

  • guzzle Ubuntu:24.04:LTS

    Версии
    • 7.4.5-1
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

  • guzzle Ubuntu:26.10

    Версии
    • 7.9.2-0.1build1
    • 7.13.1-1
    • 7.15.1-1
    • 7.15.2-1
    • 7.15.3-1
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

  • guzzle Ubuntu:26.04:LTS

    Версии
    • 7.9.2-0.1
    • 7.9.2-0.1build1
    Затронутые диапазоны версий
    • ECOSYSTEM: (−∞, +∞)

    Нет опубликованного исправления

Первоисточники

Проверьте свой сервер →