Podatności JSONata
4 znanych podatności CVE w JSONata, przetłumaczonych i ocenionych.
- CVE-2026-77415Krytyczne
JSONata to język zapytań i transformacji JSON. Przed wersjami 1.8.8 i 2.2.1, specjalnie spreparowane wyrażenia JSONata mogły łączyć kilka słabości integralności obiektów, aby wykonać dowolny kod. Łańcuch mógł nadpisać $clone, aby mutować obiekty przez evaluateTransformExpression, ujawniać i dekonstruować funkcje JSONata lub lambdy przez $merge.*, zastępować proc.arguments.forEach używane przez applyProcedure oraz fałszować wewnętrzny stan lambda. Te prymitywy pozwalały atakującemu na dostęp do getterów prototypu, dostęp do prototypu i konstruktora oraz process.getBuiltinModule z child_process, wykonując kod z uprawnieniami procesu gospodarza. Problem naprawiono w wersjach 1.8.8 i 2.2.1.
- CVE-2026-77414Krytyczne
JSONata to język zapytań i transformacji JSON. Przed wersjami 1.8.8 i 2.2.1, funkcja environment.lookup w src/jsonata.js używała omijalnego sprawdzenia hasOwnProperty. Spreparowane wyrażenia mogły użyć $hasOwnProperty, $spread, $string, dostępu do prototypu i $constructor, aby dotrzeć do prototypu obiektu i wywołać process.getBuiltinModule z child_process, wykonując dowolny kod z uprawnieniami procesu gospodarza. Problem naprawiono w wersjach 1.8.8 i 2.2.1.
- CVE-2026-77413Krytyczne
JSONata to język zapytań i transformacji JSON. Przed wersjami 1.8.8 i 2.2.0, funkcja lookup w src/functions.js nie miała sprawdzenia Object.prototype.hasOwnProperty i pozwalała spreparowanym wyrażeniom na dostęp do dziedziczonych członków prototypu. Atakujący, który może dostarczyć wyrażenie, mógł użyć dziedziczonych setterów i getterów prototypu, dostępu do konstruktora, valueOf oraz process.getBuiltinModule, aby dotrzeć do modułu child_process i wykonać dowolny kod z uprawnieniami procesu gospodarza. Problem naprawiono w wersjach 1.8.8 i 2.2.0.
- CVE-2026-52746Wysokie
JSONata, język zapytań i transformacji JSON, przed wersjami 2.2.0 i 1.8.9, zawiera podatność na atak DoS przez złośliwe dane wejściowe do funkcji $toMillis. Niepasujące dane powodują superlinearny backtracking w regexie walidacji ISO-8601, prowadząc do odmowy usługi w aplikacjach przetwarzających wyrażenia JSONata pochodzące od użytkownika. Problem naprawiono w wersjach 2.2.0 i 1.8.9.

