Description
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-8601 validation regex, leading to denial of service in applications that evaluate user-provided JSONata expressions. This issue is fixed in version 2.2.0 and 1.8.9.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| jsonata-js | jsonata | >= 2.0.0, < 2.2.0, < 1.8.9 | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| npm | jsonata | >= 2.0.0, < 2.2.0 | 2.2.0 | GHSA-86vw-mfpg-wwv9 |
| npm | jsonata | < 1.8.9 | 1.8.9 | GHSA-86vw-mfpg-wwv9 |
References
- https://github.com/jsonata-js/jsonata/security/advisories/GHSA-86vw-mfpg-wwv9
- https://github.com/jsonata-js/jsonata/pull/782
- https://github.com/jsonata-js/jsonata/pull/793
- https://github.com/jsonata-js/jsonata/commit/80ba95d170f74e3f20f4f36b8b77d8c85cea7686
- https://github.com/jsonata-js/jsonata/commit/d6ffc17cb16a8e53c222205bd274624e919cce0b
- https://github.com/jsonata-js/jsonata/releases/tag/v1.8.9
- https://github.com/jsonata-js/jsonata/releases/tag/v2.2.0