Categories
CVE-2026-59883 medium CVSS 4.7

Information Disclosure in guzzlehttp/guzzle (CVE-2026-59883)

Summary

Vulnerability in guzzlehttp/guzzle (CVE-2026-59883). Risk of unauthorized operations or information disclosure. Exploitable via CookieJar. Mitigation: upgrade to 7.12.3 or later.

Original description

The description as published by the source.

Impact

CookieJar does not restrict a cookie scoped to an IP address to the exact host that set it. When a stored cookie's Domain attribute is an IPv4 literal (Domain=192.168.0.1), a bracketed IPv6 literal (Domain=[::1]), or a bare numeric value that denotes an IPv4 address (Domain=1, which is 0.0.0.1), SetCookie::matchesDomain() applies ordinary subdomain (suffix) matching to it instead of requiring an exact host. The IP-address check inside matchesDomain() is applied only to the request host and never to the cookie's own domain, and response cookies that carry an explicit Domain attribute are stored as suffix-matchable. As a result Guzzle sends such a cookie to any host whose name ends in that value as a trailing label, for example sending a Domain=192.168.0.1 cookie to evil.192.168.0.1, or a Domain=1 cookie to evil.1. The same flaw lets a look-alike host store a cookie that Guzzle then sends to the bare IP address. Depending on how the receiving service interprets the cookie, the impact is cross-host cookie disclosure, cookie injection, or session fixation.

You are affected if your application uses Guzzle's cookie support, for example new Client(['cookies' => true]) or an explicit CookieJar, reuses one cookie jar across more than one host or trust boundary, and that jar can hold a cookie scoped to an IP-address or bare-numeric host. To actually leak a cookie the application must also resolve and connect to a look-alike host whose name end…

Source: NIST National Vulnerability Database NVD GitHub Advisory

Auto-generated summary

Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.

A vulnerability tracked as CVE-2026-59883 has been found in guzzlehttp/guzzle.
Attackers can target a specific entry point like CookieJar over the network to misuse the product.
Risk of unauthorized operations or information disclosure. CVSS score: 4.7/10.
What to do: upgrade guzzlehttp/guzzle to 7.12.3 or later.
If unsure, ask your IT team or search "guzzlehttp/guzzle CVE-2026-59883" on the vendor's site.

CVE-2026-59883 (guzzlehttp/guzzle) — CWE-200 / CVSS v3 4.7
Attack vector: remote (network-reachable) / unauthenticated
Attack surface: CookieJar / Domain / evil.192.168.0.1 / evil.1
Patched: 7.12.3 — apply immediately
Workaround: If you cannot upgrade immediately, do not reuse one CookieJar instance across untrusted and trusted origins.
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.

❓ What is the problem

Information disclosure (CWE-200) exists in guzzlehttp/guzzle. Attackers reach the vulnerable code path via CookieJar without authentication.

📍 Affected scope

Check the vendor advisory for the affected versions of guzzlehttp/guzzle. Attack surface: CookieJar / Domain / evil.192.168.0.1 / evil.1.

🔥 Severity

Severity: Medium (CVSS 4.7/10). Risk of unauthorized operations or information disclosure.

🔧 How to fix

Update to 7.12.3.

🛡️ Workaround

Workaround: If you cannot upgrade immediately, do not reuse one CookieJar instance across untrusted and trusted origins.

🔍 Detection

Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'guzzlehttp/guzzle' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.

Response actions

Concrete steps and command examples for SOC/SRE teams to execute in order

  1. 1
    Identify exposure identify
    grep -r 'guzzlehttp/guzzle' . | grep -v node_modules

    リポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で guzzlehttp/guzzle を grep し、稼働しているサービス・バージョンを把握する。

  2. 2
    Apply temporary workaround mitigate
    If you cannot upgrade immediately, do not reuse one `CookieJar` instance across untrusted and trusted origins.

    パッチが適用されるまでの応急処置として、If you cannot upgrade immediately, do not reuse one CookieJar instance across untrusted and trusted origins. を実施。回避策の副作用 (機能低下) を確認した上で。

  3. 3
    Apply patch patch
    Upgrade guzzlehttp/guzzle to 7.12.3

    ステージング環境で 7.12.3 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。

  4. 4
    Post-deployment verification verify
    Confirm patched version is live in production

    パッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。

Affected packages

composer guzzlehttp/guzzle
[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"7.12.3"}]}]

Fix status by distribution

Fixed packages published by each distribution for this CVE

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details