Symfony's ScopingHttpClient could send your API credentials, such as a bearer token, to a different host than the one they were set up for. An attacker who controls the start of a URL your app requests could receive them.
Who is affected
Apps on symfony/http-client (also part of symfony/symfony) that use a client built with HttpClient::createForBaseUri(), ScopingHttpClient::forBaseUri(), or a scoped client with a base_uri under framework.http_client.scoped_clients. The app also has to pass that client a URL an attacker can influence, such as a path from user input or a URL from a remote API response.
The Symfony advisory says some relative URLs that point to another host kept the default scope's options, including auth_bearer, auth_basic, headers and local_cert. Apps that only pass fixed paths to these clients aren't exposed.
What to do
Update to 5.4.56, 6.4.50, 7.4.23 or 8.1.11. If you're on 8.0, update to 8.1.11. The fix drops the default scope's options when a URL resolves to a different scheme, host, port or user info.
Reported by Thomas Chauchefoin of Trail of Bits.