Intel

AIKIDO-2026-75039

guzzlehttp/guzzle is vulnerable to Server-Side Request Forgery (SSRF)

Server-Side Request Forgery (SSRF)GHSA-v5mv-p594-2x33 Published 6 days ago

72

High Risk

This Affects:

PHPguzzlehttp/guzzle
0.0.1 - 7.15.1
Fixed in 7.15.2
8.0.0 - 8.0.0
Fixed in 8.0.1
Are you affected? Scan for Free

TL;DR

Guzzle hands the request URI host to the transport as written and supplies the Host header separately, so libcurl and the stream handler percent-decode and canonicalize the authority differently than Guzzle does. A host that Guzzle and application checks read as one destination, such as a percent-escaped or noncanonical numeric spelling, can be resolved and connected by the transport as a different address like loopback. Before the fix this lets externally influenced URIs reach hosts excluded by denylists, private-range, or IP-literal checks, and it skews no_proxy, redirect credential stripping, and cookie storage decisions. The fix validates the request host in all built-in handlers, rejecting non-printable, percent-escaped, delimiter-bearing, and trailing-dot numeric hosts, and regenerates the derived Host header after URI rewrites.

Who does this affect?

You are affected if you are using a version that falls within the vulnerable range and your application builds request URIs from untrusted input and makes host-based security decisions before passing them to Guzzle.

Background info

guzzlehttp/guzzle is vulnerable to Server-Side Request Forgery (SSRF) in versions 0.0.1 - 7.15.1 and 8.0.0 - 8.0.0.

How to fix this

Upgrade the guzzlehttp/guzzle library to the patch version.