🔍 CVE-2026-56741

7.5
CVSS Score
HIGH
2026-07-17
2026-10-24 20:10
✅ 완료

🇰🇷 한글 설명

JLine은 Java 콘솔 입력 처리 라이브러리입니다. 3.30.14, 4.0.16, 4.2.1 이전 버전의 JLine3 Telnet 서버 remote-telnet 모듈은 Telnet NAWS 옵션으로 수신한 터미널 크기에 상한을 두지 않아, 인증되지 않은 원격 공격자가 최대 크기(65535x65535)를 반복적으로 바꿔 보내 CPU를 소진시키는 서비스 거부(DoS)가 발생할 수 있습니다. 해당 문제는 3.30.14, 4.0.16, 4.2.1에서 수정되었습니다.

💡 쉬운 설명

JLine의 Telnet 서버가 클라이언트가 보내는 화면 크기 값을 제한 없이 받아들입니다. 공격자가 매우 큰 화면 크기를 계속 번갈아 보내면 서버 CPU가 과도하게 사용되어 서비스가 느려지거나 멈출 수 있습니다.

🇺🇸 원문 (English)

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 apply an upper bound to terminal dimensions received via the Telnet NAWS option, and TelnetIO.handleNAWS() in TelnetIO.java:856-879 reads client-supplied width and height as 16-bit unsigned integers and passes values such as 65535x65535 to setTerminalGeometry(), allowing an unauthenticated remote attacker to repeatedly alternate values and trigger continuous expensive rendering work that causes CPU exhaustion and denial of service. This issue is fixed in versions 3.30.14, 4.0.16, and 4.2.1.

📍 영향받는 시스템

JLine3 3.30.14 미만, 4.0.16 미만, 4.2.1 미만 버전을 사용하는 remote-telnet 모듈 기반 Java 애플리케이션

⚔️ 공격 벡터

인증 없이 Telnet 연결 후 NAWS 옵션으로 65535x65535 등 극단적인 터미널 크기 값을 반복 전송하여 렌더링 작업을 계속 유발

🛡️ 대응 방법

JLine을 3.30.14, 4.0.16, 4.2.1 이상 버전으로 업그레이드하고, 해당 Telnet 서버 기능이 불필요하면 비활성화하거나 네트워크 접근을 제한

🔧 검증 코드

출력된 JAR 파일별 Implementation-Version이 3.30.14 이상(3.x 계열) 또는 4.0.16 이상(4.0.x) 또는 4.2.1 이상(4.2.x)이면 패치된 상태이며, 그보다 낮은 버전이면 취약합니다.

Shell / Script
find / -name 'jline*.jar' 2>/dev/null -exec sh -c 'unzip -p "$1" META-INF/MANIFEST.MF 2>/dev/null | grep -i "Implementation-Version" | sed "s|^|$1: |"' _ {} \;

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Oracle Java SE