CVE-2026-77414: JSONata: Arbitrary Code Execution via crafted JSONata expressions
JSONata is a JSON query and transformation language. Prior to 1.8.8 and 2.2.1, the src/jsonata.js environment.lookup function used a bypassable hasOwnProperty check. Crafted expressions could use $hasOwnProperty, $spread, $string, prototype access, and $constructor to reach the object prototype and invoke process.getBuiltinModule with child_process, executing arbitrary code with the privileges of the host process. This issue is fixed in versions 1.8.8 and 2.2.1.
Security readout for executives and security teams
Plain-English summary
A malicious JSONata expression can escape intended language restrictions and execute code on the server running it. An exposed application could therefore suffer data theft, modification, or service disruption under the host process account. Risk is greatest where users or external data can influence JSONata expressions.
Executive priority
Treat as an urgent remediation for any system evaluating externally influenced JSONata expressions. Prioritize internet-facing and high-privilege services, then complete dependency-wide inventory. Although active exploitation is not established, the potential for unauthenticated host-level code execution and complete confidentiality, integrity, and availability impact justifies accelerated patching.
Technical view
JSONata versions before 1.8.8 and versions 2.0.0 through 2.2.0 contain a bypassable ownership check in environment.lookup. Crafted expressions can traverse prototype and constructor paths to access Node.js process capabilities, resulting in arbitrary code execution with the host process privileges. The issue is classified as CWE-94 and scores 9.3 under CVSS 4.0.
Likely exposure
Exposure requires a vulnerable jsonata version and a path allowing an attacker to supply or influence evaluated JSONata expressions. Internet-facing transformation, workflow, integration, or query features may be especially exposed. The supplied sources do not identify specific downstream applications or confirm that every vulnerable installation is remotely reachable.
Exploitation context
The CVSS vector describes network-accessible, low-complexity exploitation requiring no privileges or user interaction. However, actual reachability depends on how an application sources JSONata expressions. The source bundle marks this CVE as absent from KEV and provides no evidence of active exploitation, so exploitation in the wild is not confirmed.
Researcher notes
The vulnerable boundary is environment.lookup and its bypassable hasOwnProperty-based protection. The advisory describes a prototype and constructor traversal that reaches Node.js process functionality. Researchers should focus defensively on expression provenance, trust boundaries, runtime privilege, and downstream embedding. No exploit testing against production systems is warranted, and the supplied evidence does not establish public weaponization.
Mitigation direction
Upgrade 1.x deployments to 1.8.8 or later, and 2.x deployments to 2.2.1 or later.
Prevent untrusted users or data from supplying or modifying JSONata expressions until upgrades are complete.
Restrict host process privileges and isolate affected services when immediate upgrading is impossible.
Consult the JSONata advisory and release notes before deploying the update.
Validation and detection
Inventory direct and transitive jsonata dependencies across applications, services, and packaged deployments.
Confirm deployed 1.x versions are at least 1.8.8 and 2.x versions are at least 2.2.1.
Identify interfaces where users, tenants, integrations, or external data can influence JSONata expressions.
Review telemetry for unexpected child-process creation by services that evaluate JSONata expressions.
Retest expression-processing features after upgrading to confirm normal transformations still operate.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-94: Code execution behavior lookup
Code execution and unsafe deserialization weaknesses often justify reviewing execution behavior and process telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references code or command execution, so execution technique review may help defensive triage. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
1ADP providers
6Source links
SSVC decision data
CISA-ADPCISA Coordinator
Timestamp
Version
2.0.3
Exploitation: pocAutomatable: yesTechnical Impact: total
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.
CWE links open Glexia weakness intelligence pages with official CWE context, developer remediation guidance, and related CVE mappings.
CWE-94 · source CWE mapping
Improper Control of Generation of Code
Improper Control of Generation of Code represents a recurring weakness pattern that can create exploitable paths when design, validation, or implementation controls are missing.