CVE-2026-59168
ŚrednieCVSS 6.2Streszczenie
Dasel w wersjach od 3.0.0 do 3.11.1 nie ma limitu głębokości rekurencji przy przetwarzaniu zagnieżdżonych struktur JSON lub XML. Głęboko zagnieżdżone dane atakującego mogą wyczerpać stos gorutyny, powodując krytyczny błąd i zatrzymanie całego procesu.
Ocena ryzyka
Podatność umożliwia atak DoS – wysłanie specjalnie spreparowanych danych może zakończyć proces aplikacji, co wpływa na dostępność.
Rekomendacja
Zaktualizuj Dasel do wersji 3.11.1, która wprowadza limit głębokości rekurencji.
Inne podatności w Dasel
Zobacz wszystkie- CVE-2026-62866Średnie
Dasel w wersjach od 3.0.0 do 3.11.2 ma błąd w tokenizerze, który przy selektorze kończącym się białym znakiem odczytuje poza zakresem tablicy, powodując panikę i zakończenie procesu. Dotyczy to również danych wejściowych przekazywanych przez Tokenize() lub dasel.Query.
- CVE-2026-46378Średnie
Podatność w narzędziu Dasel w wersjach od 3.0.0 do 3.10.1 powoduje nieskończoną pętlę podczas tokenizacji niezakończonego literału wyrażenia regularnego (np. r/). Atakujący może wykorzystać kontrolowany ciąg selektora do wyczerpania zasobów procesora.
- CVE-2026-46377Średnie
Dasel w wersjach od 3.0.0 do 3.10.0 zawiera podatność w funkcji parseCurRune w tokenizerze, która nie sprawdza granic tablicy podczas przetwarzania sekwencji ucieczki w cytowanych ciągach znaków. Atakujący może dostarczyć specjalnie spreparowany selektor, powodując panic z powodu indeksu poza zakresem.
Oryginalny opis (angielski, źródło NVD)
Dasel is a command-line tool and library for querying, modifying, and transforming data structures. From 3.0.0 until 3.11.1, parsing/json/json_reader.go decodeValue, decodeObject, and decodeArray, and parsing/xml/reader.go parseElement, recurse once per input nesting level without a depth guard. Deeply nested attacker-controlled JSON or XML supplied through parsing.Format(...).NewReader(...).Read(data), the command-line interface, or the parse selector function can exhaust the Go goroutine stack and raise an unrecoverable fatal error that terminates the entire process. The XML input-size limit does not prevent depth exhaustion, and defer or recover cannot intercept the failure. This issue is fixed in version 3.11.1.

