CVE-2026-77415: 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, 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.
Security readout for executives and security teams
Plain-English summary
Applications that let attackers supply JSONata expressions may allow them to run code with the application's operating-system privileges. Successful exploitation could expose data, alter systems, or disrupt service. JSONata versions before 1.8.8 and versions 2.0.0 through 2.2.0 are affected.
Executive priority
Treat as an immediate remediation priority wherever untrusted expressions reach affected JSONata versions. Rapidly inventory internet-facing and multi-tenant services, upgrade exposed systems first, and apply temporary input restrictions if deployment cannot occur promptly. Do not claim compromise solely from version presence.
Technical view
Crafted expressions chain object-integrity weaknesses affecting transforms, function merging, procedure application, and forged lambda state. The chain reaches prototype and constructor access, then Node.js built-in modules capable of launching child processes. Fixed releases harden the affected mechanisms in JSONata 1.8.8 and 2.2.1.
Likely exposure
Exposure is highest where a network-accessible application evaluates JSONata expressions controlled by unauthenticated or untrusted users. Applications using affected versions only with fixed, trusted expressions have lower practical exposure, but should still upgrade. Both direct and transitive dependencies require review.
Exploitation context
The supplied CVSS 4.0 score is 9.3, reflecting network exploitation with low complexity, no privileges, and no user interaction. The source bundle reports that this CVE is not in KEV and provides no evidence of active exploitation. Public technical details may nevertheless increase future exploitation risk.
Researcher notes
CWE-94 applies. The vulnerability is a multi-stage integrity-bypass chain rather than a single unsafe call. Validate exposure by tracing expression provenance and evaluation boundaries. The supplied evidence establishes code-execution capability and fixed versions, but does not establish exploitation in the wild or enumerate every embedding product.
Mitigation direction
Upgrade JSONata 1.x deployments to version 1.8.8 or later.
Upgrade JSONata 2.x deployments to version 2.2.1 or later.
Until upgraded, prevent untrusted users from supplying or modifying JSONata expressions.
Run affected services with minimal operating-system permissions and restrict unnecessary process capabilities.
Review vendor advisory and release notes for deployment-specific guidance.
Validation and detection
Inventory direct and transitive JSONata versions across production, development, and build environments.
Identify every route, workflow, or integration that evaluates user-influenced JSONata expressions.
Confirm deployed runtime versions, not only lockfiles, are 1.8.8 or 2.2.1 and later.
Regression-test legitimate expressions after upgrading, especially transforms, merged objects, functions, and lambdas.
Review logs for unexpected child processes or suspicious expression-evaluation failures.
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
12Source 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.