Skip to content
OpenAdvisories
Critical · 9.3 CVE-2026-77415 EUVD-2026-64166GHSA-66mm-25pp-rfff

JSONata: Arbitrary Code Execution via crafted JSONata expressions

Published Aug 21, 2026 · Updated Aug 25, 2026 · Assigned by GitHub_M

Description

JSONata is a JSON query and transformation language. Prior to 1.8.8 and 2.2.1, crafted JSONata expressions could chain several object-integrity weaknesses to execute arbitrary code. The chain could overwrite $clone to mutate objects through evaluateTransformExpression, expose and deconstruct JSONata functions or lambdas through $merge.*, replace proc.arguments.forEach used by applyProcedure, and forge internal lambda state. These primitives allowed an attacker to reach prototype getters, prototype and constructor access, and process.getBuiltinModule with child_process, executing code with the privileges of the host process. This issue is fixed in versions 1.8.8 and 2.2.1.

Affected products

VendorProductAffectedFixed
jsonata-js jsonata < 1.8.8, >= 2.0.0, < 2.2.1 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm jsonata >= 2.0.0, < 2.2.1 2.2.1 GHSA-66mm-25pp-rfff
npm jsonata < 1.8.8 1.8.8 GHSA-66mm-25pp-rfff

References