CVE-2026-77422
WysokieCVSS 7.5Streszczenie
W bibliotece JLine od wersji 3.0.0 do 3.30.15 i 4.3.1 wbudowane polecenie grep przyjmuje kontrolowane przez użytkownika wyrażenie regularne i, o ile nie użyto trybu line-regexp, automatycznie dodaje prefiks i sufiks dot-star przed kompilacją w silniku wyrażeń regularnych Javy z nawrotami. Rozszerzenie to powiększa przestrzeń przeszukiwania, więc krótkie wyrażenie z zagnieżdżonymi kwantyfikatorami oceniane na niedopasowanych danych może zużyć nadmierną ilość CPU i trwale zablokować worker polecenia, także w zdalnie dostępnych sesjach powłoki.
Ocena ryzyka
Atakujący może wywołać nadmierne zużycie CPU i trwałe zablokowanie workera polecenia, prowadząc do odmowy usługi, w tym w zdalnie eksponowanych sesjach powłoki. Może to zakłócić dostępność usług opartych na JLine.
Rekomendacja
Zaktualizuj JLine do wersji 3.30.15 lub 4.3.1 (lub nowszej) oraz ogranicz dostęp do zdalnych sesji powłoki wykorzystujących JLine.
Inne podatności w JLine
Zobacz wszystkie- CVE-2026-77423Wysokie
W bibliotece JLine od wersji 3.0.0 do 3.30.15 i 4.3.1 wbudowana przeglądarka less przekazuje wzorce wyszukiwania i filtra wyświetlania kontrolowane przez użytkownika bezpośrednio do silnika wyrażeń regularnych Javy z nawrotami i wielokrotnie stosuje je do zawartości pliku. Wyrażenie z zagnieżdżonymi kwantyfikatorami oceniane na niedopasowanych liniach może zużyć nadmierną ilość CPU i trwale zablokować wątek sesji, a powtarzane sesje w Telnet lub SSH mogą wyczerpać ograniczoną pulę workerów.
- CVE-2026-77421Średnie
Biblioteka JLine do obsługi konsoli w Javie ma podatność w wbudowanym edytorze nano, gdzie tryb wyszukiwania regex przekazuje kontrolowany przez użytkownika termin do silnika wyrażeń regularnych bez limitu czasu lub ograniczenia cofania. Złośliwe wyrażenie może powodować nadmierne zużycie CPU i zablokowanie wątku sesji edytora.
- CVE-2026-77420Średnie
Biblioteka JLine ma podatność w metodzie DefaultHistory.matchPatterns, gdzie wartość konfiguracji HISTORY_IGNORE jest konwertowana na wyrażenie regularne z niepełnym escapowaniem składni. Atakujący kontrolujący konfigurację może dostarczyć złośliwe wyrażenie, które jest przetwarzane przy każdym dodaniu komendy do historii, powodując nadmierne zużycie CPU i blokadę wątku czytnika.
- CVE-2026-56741Wysokie
JLine, biblioteka Java do obsługi konsoli, zawiera podatność w module Telnet server remote-telnet. Funkcja TelnetIO.handleNAWS() nie ogranicza wymiarów terminala otrzymywanych od klienta, co pozwala nieuwierzytelnionemu atakującemu na wielokrotne ustawianie dużych wartości (np. 65535x65535), powodując intensywne obliczenia renderowania i wyczerpanie CPU (DoS).
- CVE-2026-56740Wysokie
JLine to biblioteka Java do obsługi konsoli. Przed wersjami 3.30.14, 4.0.16 i 4.2.1 moduł Telnet nie ogranicza liczby zmiennych środowiskowych, które klient może wstrzyknąć. Nieuwierzytelniony atakujący może wysłać wiele unikalnych par zmiennych, powodując wyczerpanie pamięci sterty JVM i błąd OutOfMemoryError.
Oryginalny opis (angielski, źródło NVD)
JLine is a Java library for handling console input. From 3.0.0 until 3.30.15 and 4.3.1, the JLine built-in grep command in builtins/src/main/java/org/jline/builtins/PosixCommands.java accepts a user-controlled regular expression in grep(...) and, unless line-regexp mode is used, automatically adds a dot-star prefix and suffix before compiling it with Java's backtracking regular expression engine. The wrapping expands the backtracking search space, so a short nested-quantifier expression evaluated against non-matching input can consume excessive CPU and indefinitely block a command worker, including in remotely exposed shell sessions. This issue is fixed in versions 3.30.15 and 4.3.1.

