JSONata: Arbitrary Code Execution via crafted JSONata expressions
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| jsonata-js | jsonata | affected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Jsonata-js | Jsonata |
|
| Source | ID | Title |
|---|---|---|
Github GHSA |
GHSA-66mm-25pp-rfff | JSONata vulnerable to Arbitrary Code Execution via crafted JSONata expressions |
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.892% probability within 30 days)
| Type | Values Removed | Values Added |
|---|---|---|
| Metrics |
ssvc
|
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Jsonata-js
Jsonata-js jsonata |
|
| Vendors & Products |
Jsonata-js
Jsonata-js jsonata |
| Type | Values Removed | Values Added |
|---|---|---|
| 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. | |
| Title | JSONata: Arbitrary Code Execution via crafted JSONata expressions | |
| Weaknesses | CWE-94 | |
| References |
|
|
| Metrics |
cvssV4_0
|