Skip to main content

Guzzle HTTP EUVDEUVD-2026-51850

| CVE-2026-67353 MEDIUM
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-08-01 VulnCheck GHSA-3fvr-2jw6-crq4
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Control or compromise a server the application contacts
  2. Delivery
    Return response with many large Set-Cookie headers
  3. Exploit
    Guzzle stores all cookies in shared CookieJar without limits
  4. Execution
    Application sends subsequent request matched by stored cookies
  5. Persist
    Guzzle generates oversized Cookie header
  6. Impact
    Handler, proxy, or destination server rejects or drops the request

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Three conditions must all be true simultaneously: (1) the application enables Guzzle's built-in cookie support by passing a CookieJar instance (or using the cookies request option), (2) the application sends a request to an attacker-controlled or compromised server and processes its response, and (3) the application retains or reuses the same CookieJar across subsequent requests to other hosts. Applications that do not use cookies (no CookieJar configured) are entirely unaffected. Applications using separate, per-origin jars are unaffected for the cross-domain vector but may still be affected by single-origin accumulation if the jar is reused across many responses from the same malicious host. Applications delegating to a third-party CookieJarInterface that enforces its own size limits are also not affected. The attacker must be positioned as - or have compromised - a server the application legitimately contacts; a purely passive network attacker cannot inject Set-Cookie headers without a man-in-the-middle position on a plaintext connection.

Impact

The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L) yields a score of 6.9, reflecting low-complexity network access with no privileges required but only low availability impact on the vulnerable system. Real-world risk is moderate: exploitation requires the application to actually receive a response from an attacker-controlled or compromised server, which is a meaningful precondition absent in read-only or strictly internal deployments. No CISA KEV listing and no confirmed public exploit code exist at time of analysis, which is consistent with a lower-urgency remediation window. The cross-subdomain scope vector (sibling host poisoning) elevates the real-world concern slightly beyond a simple self-DoS, as a single compromised third-party integration could disrupt unrelated services sharing a reused CookieJar. The CVSS VA:L rating may understate impact in applications where cookie accumulation causes sustained memory pressure or cascading request failures rather than a momentary blip.

Exploit ScenarioDerived

An attacker operates or compromises a server that the target PHP application communicates with via Guzzle with cookie support enabled. The server responds with hundreds of Set-Cookie headers, each carrying a value close to or exceeding several kilobytes, which Guzzle stores without limit in the shared CookieJar. On the next request to any host matched by the stored cookies - including sibling subdomains via parent-domain cookies - Guzzle assembles a single Cookie header containing all accumulated values, producing a header that exceeds the limit of the downstream handler, proxy, or destination server, causing the request to fail or be silently truncated.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 01, 2026

Denial of service in guzzlehttp/guzzle versions before 7.15.1 allows a malicious or compromised upstream server to exhaust memory and break outbound requests by returning unlimited, oversized Set-Cookie headers. Guzzle's built-in CookieJar imposes no cap on cookie count or field size, so attacker-controlled cookies accumulate in memory and are later copied into a single outbound Cookie header that exceeds limits in handlers, proxies, or destination servers. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog; however, the cross-subdomain cookie scope (e.g., attacker.example.com poisoning cookies for service.example.com) extends the potential blast radius beyond the initially contacted server.

RemediationAI

The primary remediation is to upgrade guzzlehttp/guzzle to version 7.15.1 or later via Composer (composer require guzzlehttp/guzzle:^7.15.1). Version 7.15.1 introduces hard limits mirroring cURL's CVE-2022-32205 response: incoming Set-Cookie fields longer than 8,190 bytes are discarded, at most 50 successful cookie insertions per response are permitted, outbound Cookie headers are capped at 150 name=value pairs, and the total Cookie header line is bounded at 8,190 bytes. The upstream fix is available in pull request https://github.com/guzzle/guzzle/pull/3901 and commit 7b68220d6543f6f80fe62e633361fc9d4ead14d4. Applications that cannot immediately upgrade have three viable workarounds with trade-offs: (1) disable built-in cookie support entirely if cookies are not required - this removes the attack surface with no functional downside for cookie-free workflows; (2) use a separate, short-lived CookieJar instance per request or per trusted origin rather than a shared, reused jar - this prevents cross-request accumulation but requires application-level refactoring; or (3) implement a custom CookieJarInterface with internal size and count limits - this preserves cookie functionality but requires writing and maintaining custom code. Generic network-layer controls (WAFs, proxies) cannot reliably inspect or limit Set-Cookie headers in TLS-terminated responses and are not a reliable compensating control.

Affected VersionsENISA

guzzle 0 <7.15.1

Affected Packages

composer guzzlehttp/guzzle fix: 7.15.1
euvd guzzle fix: 7.15.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in composer, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Guzzle (composer package guzzlehttp/guzzle) is a widely used PHP HTTP client library. Its built-in CookieJar implementation manages cookies independently of libcurl's native cookie engine, meaning cURL's own DoS mitigations - introduced in response to CVE-2022-32205 - do not cover Guzzle's separate in-memory store. The root cause is CWE-770 (Allocation of Resources Without Limits or Throttling): the CookieJar neither limits the number of Set-Cookie fields processed from a single response nor constrains individual field length. This affects CPE cpe:2.3:a:guzzle:guzzle:*:*:*:*:*:*:*:* across all versions prior to 7.15.1. Both built-in HTTP handlers (stream and curl wrappers) are affected because cookie management is handled at the Guzzle layer, not delegated to the underlying transport. Parent-domain cookies set by one host can be selected for a sibling host sharing the same jar, enabling a single compromised upstream to disrupt requests to a distinct, non-compromised service.

Know when Guzzle gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
vuln.today AI 5.8 MEDIUM

Network attacker requires no privileges; scope change (S:C) reflects cross-subdomain cookie poisoning affecting separate services sharing the jar.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L
Red Hat 5.3 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 01, 2026 - 13:01 EUVD
CVE Published
Aug 01, 2026 - 12:22 cve.org
MEDIUM 6.9

DescriptionCVE.org

guzzlehttp/guzzle versions before 7.15.1 contain a denial of service vulnerability in the CookieJar that accepts unlimited Set-Cookie header fields with no size restrictions. Attackers can return many large cookies from a malicious server, causing Guzzle to store excessive data in memory and generate oversized Cookie headers that fail in handlers or destination servers.

Threat Intelligence Overview

EPSS Score
0.2%
Top 84% exploitable
Prevalence
High
most popular PHP HTTP client, core dependency of Laravel and Symfony
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
High
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Guzzle

View all
CVE-2026-69246 HIGH POC
7.2 Aug 03

Host confusion in GuzzleHttp Guzzle before 7.15.2 and 8.0.1 allows remote attackers who can influence a fetched URI to b

CVE-2026-69245 MEDIUM POC
6.5 Aug 03

Cookie domain scope bypass in Guzzle PHP HTTP client (prior to 7.15.2 and 8.0.1) allows improper cookie sharing via non-

CVE-2026-67354 HIGH
8.2 Aug 01

URI fragment leakage in guzzlehttp/guzzle's RedirectMiddleware (versions before 7.15.1) exposes sensitive client-side da

CVE-2026-67355 HIGH
8.2 Aug 01

Cookie scope leakage in guzzlehttp/guzzle before 7.15.1 allows an attacker controlling a child subdomain to receive host

CVE-2022-29248 HIGH
8.1 May 25

Guzzle is a PHP HTTP client. Rated high severity (CVSS 8.1), this vulnerability is remotely exploitable, no authenticati

CVE-2022-31091 HIGH
7.7 Jun 27

Guzzle, an extensible PHP HTTP client. Rated high severity (CVSS 7.7), this vulnerability is remotely exploitable, low a

CVE-2022-31090 HIGH
7.7 Jun 27

Guzzle, an extensible PHP HTTP client. Rated high severity (CVSS 7.7), this vulnerability is remotely exploitable, low a

CVE-2022-31043 HIGH
7.5 Jun 10

Guzzle is an open source PHP HTTP client. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no

CVE-2022-31042 HIGH
7.5 Jun 10

Guzzle is an open source PHP HTTP client. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no

CVE-2026-67339 MEDIUM
6.9 Aug 01

Proxy-Authorization header leakage in guzzlehttp/guzzle before 7.14.2 allows origin servers to receive proxy credentials

CVE-2026-59882 MEDIUM
6.5 Jul 08

Host validation bypass in guzzlehttp/psr7 before 2.12.3 enables URI authority confusion attacks against PHP applications

CVE-2026-59883 MEDIUM POC
6.1 Jul 08

Cookie domain suffix-matching bypass in Guzzle PHP HTTP client (prior to 7.12.3) allows cross-host cookie disclosure, co

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy