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

Critical 9.8 Published Updated

Attackers can execute arbitrary PHP code via crafted JMESPath expressions when using the CompilerRuntime component in jmespath.php.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-54133?

CVE-2026-54133 is a critical code injection vulnerability in jmespath.php, published on 12 Jun 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-94, CWE-20, CWE-116

Which versions are affected by CVE-2026-54133?

2 open source packages ship an affected version, including mtdowling/jmespath.php. It affects 1 product.

PackageAffectedFixed in
mtdowling/jmespath.php PackagistAll versions2.9.1
mtdowling/jmespath.php PackagistAll versions2.9.1

Products include Jmespath Jmespath.

How do I fix CVE-2026-54133?

Upgrade mtdowling/jmespath.php to 2.9.1 or later.

Upgrade, and never evaluate templates, expressions or code built from user input. More about Code injection.

Is CVE-2026-54133 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-54133 exists.

Sources

Also known as CLSA-2026-1793201827, GHSA-pcw8-m77r-2528, MINI-23f5-75j5-f23q, MINI-66wp-qgjx-pq38, MINI-7fv4-6f4g-vgm4, MINI-gg33-827h-29hg and 4 more.

Is CVE-2026-54133 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free