JLine — это библиотека Java для обработки ввода с консоли. До версий 3.30.14, 4.0.16 и 4.2.1 модуль удаленного telnet сервера JLine3 Telnet не ограничивает количество переменных среды, которые клиент может вводить с помощью опции Telnet NEW-ENVIRON, а TelnetIO.readNEVariables() в TelnetIO.java:1127-1180 сохраняет каждую пару переменных в HashMap, хранящемся в ConnectionData, что позволяет злоумышленнику, не прошедшему проверку подлинности, для заливки уникальных пар переменных перед завершающим байтом SE IAC и исчерпания кучи JVM с помощью OutOfMemoryError. Эта проблема исправлена в версиях 3.30.14, 4.0.16 и 4.2.1.
Показать оригинальное описание (EN)
JLine is a Java library for handling console input. Prior to 3.30.14, 4.0.16, and 4.2.1, the JLine3 Telnet server remote-telnet module does not limit the number of environment variables a client may inject via the Telnet NEW-ENVIRON option, and TelnetIO.readNEVariables() in TelnetIO.java:1127-1180 stores each variable pair in a HashMap held by ConnectionData, allowing an unauthenticated attacker to flood unique variable pairs before the terminating IAC SE byte and exhaust JVM heap memory with an OutOfMemoryError. This issue is fixed in versions 3.30.14, 4.0.16, and 4.2.1.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Jline Jline
cpe:2.3:a:jline:jline:*:*:*:*:*:*:*:*
|
— |
3.30.14
|
|
Jline Jline
cpe:2.3:a:jline:jline:*:*:*:*:*:*:*:*
|
4.0.0
|
4.0.16
|
|
Jline Jline
cpe:2.3:a:jline:jline:*:*:*:*:*:*:*:*
|
4.1.0
|
4.2.1
|