An attacker who can influence a JSONPath query your app runs can keep a PHP worker busy for minutes. Symfony's advisory gives a 2.5 KB query on a 2 MB document taking 3.5 minutes of CPU. Send enough of these and your app stops answering.
This is an incomplete fix for CVE-2026-45756, which tried to limit the regular expressions in match() and search() filters.
Who is affected
Apps on symfony/json-path 7.3 and later (also part of symfony/symfony) that run a JSONPath expression an attacker can influence through JsonCrawler::find(). The Symfony advisory says the cost came from regular expressions in match() and search(), from long chains of filter clauses, and from queries starting with $ inside a filter. Apps that only run fixed queries they wrote themselves aren't exposed.
What to do
Update to 7.4.23 or 8.1.11. If you're on 8.0, update to 8.1.11. The fix puts a budget on the regular expression work in one find() call, and throws an exception when it runs out. Filters are also parsed once per query.
Reported by Kamil Vavra.