SSRF and Credential Leakage in Saloon endpoint URL handling
CVE-2026-33182 affects the Saloon PHP library prior to version 4.0.0. When constructing a request URL, Saloon joined a connector base URL with a request endpoint. If the supplied endpoint was a valid absolute URL, the library used that absolute URL directly and ignored the configured base URL. As a result, requests could be sent to an attacker-controlled host while still carrying authentication material attached by the connector, including headers, cookies, or bearer tokens. In deployments where the endpoint value could be influenced by user input or configuration, such as redirect_uri or callback URL fields, this behavior created a server-side request forgery condition and enabled credential leakage to third-party infrastructure. Version 4.0.0 fixes the issue by rejecting absolute URLs in the endpoint by default: URLHelper::join() now throws an InvalidArgumentException unless the behavior is explicitly allowed on a per-connector or per-request basis.
What it means and what to do now: patch path, interim mitigations, and the assume-compromise checklist.
What an attacker gets, and what they’ve been doing with it.
The primary impact is confidentiality compromise. Successful exploitation can disclose sensitive API credentials, session tokens, cookies, and other authentication headers to an attacker-controlled endpoint. Those leaked credentials can then be used to obtain unauthorized access to upstream third-party services integrated with the affected application. Depending on the privileges associated with the exposed tokens, an attacker may be able to manipulate external data, trigger unauthorized transactions, abuse connected service accounts, and pivot into other connected systems or environments. The provided content indicates the host application's local database is not directly impacted, and there is no direct integrity or availability impact on the host application itself, but downstream compromise of external services can still produce significant operational, financial, and reputational damage.
If you can’t patch tonight, do this now.
If immediate upgrade is not possible, prevent untrusted input from controlling Saloon request endpoints. Enforce strict validation so endpoint values are relative paths only, or restrict them to a hardcoded allowlist of trusted hosts and schemes. Do not pass user-supplied redirect_uri, callback URL, or similar values directly into endpoint construction. Consider stripping or segregating sensitive authentication headers and cookies when making requests whose destination is not fully trusted. Network egress controls and outbound filtering can also reduce exposure by preventing requests to arbitrary external hosts.
Patch, then assume compromise.
Upgrade Saloon to version 4.0.0 or later. The fix changes URL handling so that absolute endpoint URLs are rejected by default and URLHelper::join() throws InvalidArgumentException when an endpoint is a valid absolute URL, unless the caller explicitly opts in. Review application code that passes endpoint values derived from user input or configuration and ensure only expected relative paths are accepted. Where absolute URLs are genuinely required, enable that behavior only explicitly and only for trusted destinations, with strict validation and allowlisting.
No public exploits tracked yet. Mallory keeps watching.
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
3 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.