CVE-2026-77421
ŚrednieCVSS 6.5Streszczenie
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.
Ocena ryzyka
Atakujący może zablokować sesje edytora, a w środowiskach zdalnych z wieloma użytkownikami może doprowadzić do utraty wątków roboczych, co wpływa na dostępność usług.
Rekomendacja
Zaktualizuj bibliotekę JLine do wersji 3.30.15 lub 4.3.1, które zawierają poprawkę.
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-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-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 nano editor's regex search mode passes a user-controlled search term from doSearch(String text) in builtins/src/main/java/org/jline/builtins/Nano.java to Java's backtracking regular expression engine without a timeout or backtracking bound. A nested-quantifier expression evaluated against non-matching buffer content can consume excessive CPU and indefinitely block the editor session thread, and remote multi-user deployments can lose a worker thread for each affected session. This issue is fixed in versions 3.30.15 and 4.3.1.

