JSONata vulnerable to Arbitrary Code Execution via crafted JSONata expressions
Critical severity
GitHub Reviewed
Published
Jul 13, 2026
in
jsonata-js/jsonata
•
Updated Aug 21, 2026
Description
Published to the GitHub Advisory Database
Aug 21, 2026
Reviewed
Aug 21, 2026
Last updated
Aug 21, 2026
Before JSONata
2.2.1and1.8.8it was possible to execute arbitrary code withcrafted expressions, due to a bypassable
hasOwnPropertycheck inenvironment.lookuphttps://github.com/jsonata-js/jsonata/blob/8ee4476f8a228bfc7a62979ae0a9c13a4043cd03/src/jsonata.js#L1863-L1871
This was fixed in jsonata-js/jsonata#799
(https://github.com/jsonata-js/jsonata/pull/799/files#diff-de23c1b6e199d0e59406a284aae5fa7be63fcbbff706829913dba73dcdeb061cL1865-R1865)
which is included in the
2.2.1release, and then back-ported to the1.8.8release.PoC
References