jsonata: Malicious inputs to "$toMillis" function can cause resource exhaustion
Description
Published to the GitHub Advisory Database
Jul 2, 2026
Reviewed
Jul 2, 2026
Published by the National Vulnerability Database
Jul 17, 2026
Last updated
Aug 3, 2026
Impact
Before JSONata
2.2.0and1.8.9, it is possible to craft non-matching inputs to the $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 jsonata-js/jsonata#782 and jsonata-js/jsonata#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.
References