CVE-2026-77423
WysokieCVSS 7.5Streszczenie
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.
Ocena ryzyka
Atakujący może doprowadzić do wyczerpania CPU i zablokowania wątków sesji, a w środowiskach Telnet lub SSH do wyczerpania puli workerów, co powoduje odmowę usługi. Dotyczy to sesji zdalnie dostępnych, co zwiększa ekspozycję.
Rekomendacja
Zaktualizuj JLine do wersji 3.30.15 lub 4.3.1 (lub nowszej) oraz rozważ ograniczenie dostępu do sesji powłoki opartych na JLine.
Inne podatności w JLine
Zobacz wszystkie- CVE-2026-77422Wysokie
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.
- 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 less viewer passes user-controlled search and display-filter patterns from getPattern(boolean doDisplayPattern) in builtins/src/main/java/org/jline/builtins/Less.java directly to Java's backtracking regular expression engine and repeatedly applies them to file content. A nested-quantifier expression evaluated against non-matching lines can consume excessive CPU and indefinitely block the session thread, and repeated sessions in Telnet or SSH deployments can exhaust a bounded worker pool. This issue is fixed in versions 3.30.15 and 4.3.1.

