A malicious or compromised server can send Guzzle a flood of large cookies. Guzzle stores them all and copies them into later requests, which uses memory and time and can make those requests fail. Because cookies can be set for a parent domain, a server on one subdomain can break requests to a different service that shares the same cookie jar.
The Guzzle advisory says the direct impact is on availability only.
Who is affected
Apps on guzzlehttp/guzzle before 7.15.1 that use Guzzle's built-in cookie jar, receive a response from a server an attacker controls, and keep using that jar. Updating libcurl doesn't help, since Guzzle manages these cookies itself. Apps that don't use cookies, use a separate jar for untrusted hosts, or use their own cookie jar with limits aren't affected.
What to do
Update to 7.15.1 or later. The fix limits how many cookies one response can set, how large each can be, and how large the Cookie header Guzzle sends can grow. It doesn't cap the total size of a jar built up over many responses. Until you can update, don't share a cookie jar with untrusted hosts, or clear it after an untrusted response.
Reported by GrahamCampbell.