Description
JSONata is a JSON query and transformation language. Starting in version 1.4.0 and prior to version 1.8.7 and 2.0.4, a malicious expression can use the transform operator to override properties on the `Object` constructor and prototype. This may lead to denial of service, remote code execution or other unexpected behavior in applications that evaluate user-provided JSONata expressions. This issue has been fixed in JSONata versions 1.8.7 and 2.0.4. Applications that evaluate user-provided expressions should update ASAP to prevent exploitation. As a workaround, one may apply the patch manually.
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High
Affected products
- jsonata-js / jsonata>= 1.4.0, < 1.8.7 – >= 1.4.0, < 1.8.7
- jsonata-js / jsonata>= 2.0.0, < 2.0.4 – >= 2.0.0, < 2.0.4
References
- VENDOR_ADVISORYhttps://github.com/jsonata-js/jsonata/security/advisories/GHSA-fqg8-vfv7-8fj8
- PATCHhttps://github.com/jsonata-js/jsonata/commit/1d579dbe99c19fbe509f5ba2c6db7959b0d456d1
- PATCHhttps://github.com/jsonata-js/jsonata/commit/335d38f6278e96c908b24183f1c9c90afc8ae00c
- PATCHhttps://github.com/jsonata-js/jsonata/commit/c907b5e517bb718015fcbd993d742ba6202f2be2
- PATCHhttps://github.com/jsonata-js/jsonata/releases/tag/v2.0.4