Paper/Archive/CVE-2024-27307

CVE-2024-27307

jsonata-js jsonata — JSONata expression can pollute the "Object" prototype

Description · from the CVE record

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.

Affected

ProductAffectedFixed inSource
jsonata>= 1.4.0, < 1.8.7–CNA
jsonata>= 2.0.0, < 2.0.4–CNA
jsonata1.4.0 – < 1.8.71.8.7CISA-ADP
jsonata2.0.0 – < 2.0.42.0.4CISA-ADP

Scores by source

GitHub_M (CNA)9.8CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CISA ADPSSVCExploitation: none · Automatable: yes · Technical impact: total

References

refgithub.com/jsonata-js/jsonata/security/advisories/GHSA-fqg8-vfv7-8fj8refgithub.com/jsonata-js/jsonata/commit/1d579dbe99c19fbe509f5ba2c6db7959b0d456d1refgithub.com/jsonata-js/jsonata/commit/335d38f6278e96c908b24183f1c9c90afc8ae00crefgithub.com/jsonata-js/jsonata/commit/c907b5e517bb718015fcbd993d742ba6202f2be2refgithub.com/jsonata-js/jsonata/releases/tag/v2.0.4