Safeguard
Vulnerability Analysis•

CVE-2026-33183: Critical Path Traversal in Saloon PHP Library

CVE-2026-33183 is a path traversal in Saloon fixture names that can read or write files outside the fixture folder. Upgrade saloonphp/saloon to 4.0.0.

Safeguard Security Team
2 min read

CVE-2026-33183 is a path traversal in Saloon, a PHP library for building API integrations. NVD scores it 9.1 critical, though the project advisory rates it Low. Before 4.0.0, fixture names were not validated. Upgrade saloonphp/saloon to 4.0.0 and check how fixture names are built.

What's affected

All Saloon releases before 4.0.0, installed through Composer as saloonphp/saloon. The patched version is 4.0.0.

Per the advisory (GHSA-f7xc-5852-fj99), the impact is on users whose MockResponse fixtures use names that can include path traversal, for example names taken from request parameters or configuration.

How to check if you're exposed

Find the installed version:

composer show saloonphp/saloon

Then search your code for fixture usage and look at where the name comes from. A fixed string in a test is not a problem. A name built from user input or external config is.

What to do now

  1. Upgrade to Saloon 4.0.0 with composer update saloonphp/saloon. The upgrade guide notes that v4 shipped as a security release and has breaking changes, so read it first.
  2. Make sure no fixture name comes from user controlled input.
  3. Run your tests and check that fixtures still resolve to the expected directory.
  4. If you ever recorded fixtures from user driven names, check the file system for unexpected files outside the fixture directory.

Why it matters

The weakness is CWE-22, path traversal. The advisory says names with path segments could resolve outside the configured fixture directory, so the process could read or write any file it had access to. That can mean disclosure of sensitive files or overwriting of important ones.

The fix rejects names containing slashes, backslashes, parent directory segments or null bytes, limits names to a safe character set, and also checks that the resolved path stays under the base directory. The advisory's Low rating reflects that most apps never feed user input into fixture names. The record does not mark this CVE as listed in CISA KEV.

Quick check

Why do the NVD and project ratings differ?

NVD scores the worst case, where a name is attacker controlled. The project rates Low because fixtures are mostly a testing feature with fixed names. Your own risk depends on how you use them.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.