CVE-2026-77420
ŚrednieCVSS 5.5Streszczenie
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.
Ocena ryzyka
Osoba z kontrolą nad konfiguracją aplikacji lub użytkownika może spowodować denial of service poprzez zablokowanie wątku czytnika, co wpływa na dostępność aplikacji.
Rekomendacja
Zaktualizuj JLine do wersji 3.30.15 lub 4.3.1, które naprawiają ten problem.
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-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-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, DefaultHistory.matchPatterns(String patterns, String line) in reader/src/main/java/org/jline/reader/impl/history/DefaultHistory.java converts the HISTORY_IGNORE configuration value into a Java regular expression while escaping only part of its syntax, allowing other regex metacharacters to reach the backtracking engine. An attacker who can control application or user configuration can supply a nested-quantifier expression that is reevaluated whenever a command is added to history, consuming excessive CPU and indefinitely blocking the reader thread. This issue is fixed in versions 3.30.15 and 4.3.1.

