Skip to main content
← All vulnerabilities
CVE-2024-27307GHSA-FQG8-VFV7-8FJ8

JSONata expression can pollute the "Object" prototype

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.8.7, 2.0.4
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: yes
  • Technical impact: total

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: yes · Technical impact: total

  3. Record last updated

Affected versions

  • jsonata-js jsonata

    From 1.4.0 · fixed in 1.8.7; From 2.0.0 · fixed in 2.0.4

  • jsonatanpm

    From 1.4.0 · fixed in 1.8.7

  • jsonatanpm

    From 2.0.0 · fixed in 2.0.4

References 5

GitHub · jsonata-js/jsonata