Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-67339

CVE-2026-67339: Guzzle Information Disclosure Vulnerability

CVE-2026-67339 is an information disclosure flaw in guzzlehttp/guzzle that exposes proxy credentials to origin servers. This vulnerability affects versions before 7.14.2. This post covers technical details, impact, and fixes.

Published:

CVE-2026-67339 Overview

CVE-2026-67339 affects guzzlehttp/guzzle versions before 7.14.2, a widely used PHP HTTP client library. The library fails to properly isolate Proxy-Authorization headers from origin servers when using cURL handlers. Attackers can capture proxy credentials through origin server access logs when requests are redirected, bypassed, or sent through SOCKS proxies that Guzzle misclassifies as direct connections. This information disclosure weakness is classified as [CWE-200].

Critical Impact

Proxy credentials transmitted through Guzzle can leak to origin servers, exposing authentication material used to access upstream proxy infrastructure.

Affected Products

  • guzzlehttp/guzzle versions prior to 7.14.2
  • PHP applications relying on Guzzle cURL handlers for outbound HTTP requests
  • Applications routing traffic through authenticated HTTP or SOCKS proxies

Discovery Timeline

  • 2026-08-01 - CVE-2026-67339 published to NVD
  • 2026-08-03 - Last updated in NVD database

Technical Details for CVE-2026-67339

Vulnerability Analysis

Guzzle constructs HTTP requests using cURL handlers and permits callers to attach a Proxy-Authorization header for upstream proxy authentication. The library does not strip this header when a request no longer terminates at the intended proxy. When cURL follows a redirect to an origin server, that origin receives the proxy credential in the request headers. The credential then persists in web server access logs, reverse proxy logs, and any downstream telemetry system that captures request headers.

The issue also affects SOCKS proxy handling. Guzzle misclassifies certain SOCKS proxy configurations as direct connections, causing the Proxy-Authorization header to travel end-to-end to the origin rather than being consumed by the proxy layer. Applications that rely on Guzzle to isolate proxy authentication material from third-party endpoints therefore expose those credentials to any operator of a targeted origin server.

Root Cause

The root cause is missing header scoping logic in the cURL handler. Guzzle treats Proxy-Authorization as a standard request header rather than as connection-scoped material that must be removed on redirect or when the effective transport differs from the configured proxy. This aligns with the information exposure pattern described in [CWE-200].

Attack Vector

Exploitation requires no authentication and no user interaction. An attacker who controls, compromises, or monitors an origin server that receives a redirected Guzzle request can read the Proxy-Authorization header from access logs. A malicious redirect target, a compromised third-party API endpoint, or a misconfigured SOCKS proxy configuration is sufficient to capture credentials. Recovered credentials can then be replayed against the upstream proxy to access internal networks or paid API tiers.

No verified public exploit code is available. See the GitHub Security Advisory for technical details.

Detection Methods for CVE-2026-67339

Indicators of Compromise

  • Presence of Proxy-Authorization headers in origin server access logs, reverse proxy logs, or CDN telemetry
  • Outbound requests from PHP application servers running guzzlehttp/guzzle versions below 7.14.2
  • Unexpected redirects from trusted API endpoints to attacker-controlled hosts

Detection Strategies

  • Inventory PHP dependencies and flag guzzlehttp/guzzle versions earlier than 7.14.2 using composer.lock audits.
  • Grep web server and CDN logs for the string Proxy-Authorization to identify credential leakage that has already occurred.
  • Correlate outbound proxy usage with 3xx redirect chains to detect requests where credentials could have traversed the redirect boundary.

Monitoring Recommendations

  • Enable dependency scanning in CI to fail builds that pin vulnerable Guzzle releases.
  • Alert on any log entry from application, proxy, or origin infrastructure that contains proxy credential headers.
  • Monitor egress traffic for unexpected SOCKS proxy usage from application hosts that should not require SOCKS transport.

How to Mitigate CVE-2026-67339

Immediate Actions Required

  • Upgrade guzzlehttp/guzzle to version 7.14.2 or later across all PHP applications.
  • Rotate any proxy credentials that were configured with vulnerable Guzzle releases, especially where redirects or SOCKS transport were in use.
  • Purge or restrict access to log stores that may contain leaked Proxy-Authorization headers.

Patch Information

The maintainers released a fix in guzzlehttp/guzzle7.14.2. Refer to the GitHub Security Advisory GHSA-94pj-82f3-465w and the VulnCheck Advisory for release notes and remediation guidance.

Workarounds

  • Disable automatic redirect following in Guzzle by setting the allow_redirects option to false for requests that carry proxy credentials.
  • Avoid attaching Proxy-Authorization headers directly; configure proxy authentication through the proxy request option so cURL scopes credentials to the proxy transport.
  • Replace SOCKS proxy configurations with HTTP CONNECT proxies until the upgrade is completed on all affected hosts.
bash
# Configuration example
composer require guzzlehttp/guzzle:^7.14.2
composer update guzzlehttp/guzzle
composer audit

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.