jsonata: Malicious inputs to "$toMillis" function can cause resource exhaustion
### Impact Before JSONata `2.2.0` and `1.8.9`, it is possible to craft non-matching inputs to the [$toMillis](https://docs.jsonata.org/date-time-functions#tomillis) function that cause superlinear backtracking in the ISO-8601 validation regex. This may lead to denial of service in applications that evaluate user-provided JSONata expressions. ### Patches This issue has been addressed in JSONata version 2.2.0 or later, and 1.8.9 or later on v1, via fixes that include https://github.com/jsonata-js/jsonata/pull/782 and https://github.com/jsonata-js/jsonata/pull/793. Applications that evaluate user-provided expressions should update ASAP to prevent exploitation. ### References https://github.com/jsonata-js/jsonata/releases/tag/v2.2.0 https://github.com/jsonata-js/jsonata/releases/tag/v1.8.9 ### Credit Thank you to Doruk Tan Öztürk for disclosing this issue.
describes (1)
Related CVEs.
| ID | severity | exploitable | ||
|---|---|---|---|---|
| CVE-2026-52746US | — | — | ||
JSONata is a JSON query and transformation language. Prior to 2.2.0 and 1.8.9, malicious non-matching inputs to the $toMillis function can cause superlinear backtracking in the ISO… | ||||
references
External citations — patches, advisories, analysis.
- https://github.com/jsonata-js/jsonataPACKAGE
- https://github.com/jsonata-js/jsonata/commit/80ba95d170f74e3f20f4f36b8b77d8c85cea7686WEB
- https://github.com/jsonata-js/jsonata/commit/d6ffc17cb16a8e53c222205bd274624e919cce0bWEB
- https://github.com/jsonata-js/jsonata/pull/782WEB
- https://github.com/jsonata-js/jsonata/pull/793WEB
- https://github.com/jsonata-js/jsonata/releases/tag/v1.8.9WEB
- https://github.com/jsonata-js/jsonata/releases/tag/v2.2.0WEB
- https://github.com/jsonata-js/jsonata/security/advisories/GHSA-86vw-mfpg-wwv9WEB
Advisories like this name the exposed products attackers go after on your perimeter. See what is exposed on your perimeter with a free passive scan.
Free scan