| Package | Affected versions | Patched versions |
|---|---|---|
| jsonata | < 2.2.0 | 2.2.0 |
| jsonata | ≥ 2.0.0, < 2.2.0< 1.8.9 | 2.2.01.8.9 |
Before JSONata 2.2.0 and 1.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.
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.
https://github.com/jsonata-js/jsonata/releases/tag/v2.2.0 https://github.com/jsonata-js/jsonata/releases/tag/v1.8.9
Thank you to Doruk Tan Öztürk for disclosing this issue.
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free