Severity by source
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Pre-auth network-reachable NEW-ENVIRON parsing (AV:N/PR:N/UI:N) with trivially automatable heap flooding (AC:L) yielding a crash only, so C:N/I:N/A:H.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
4Blast Radius
ecosystem impact- 1 maven packages depend on org.jline:jline-remote-telnet (1 direct, 0 indirect)
Ecosystem-wide dependent count for version 4.1.0.
DescriptionCVE.org
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.
AnalysisAI
Unauthenticated remote denial of service in the JLine3 remote-telnet server module (versions before 3.30.14, 4.0.16, and 4.2.1) lets an attacker crash the JVM by flooding the Telnet NEW-ENVIRON negotiation with unbounded unique environment-variable pairs. Because TelnetIO.readNEVariables() stores every pair in an uncapped HashMap on ConnectionData before login, roughly 3-4 MB of traffic can exhaust a 512 MB heap and force an OutOfMemoryError. No public exploit code is identified, but the vendor advisory (GHSA-47qp-hqvx-6r3f) documents proof-of-concept methodology; the flaw is not listed in CISA KEV and no EPSS score was supplied.
Technical ContextAI
JLine3 is a Java library for console/line-editing input; the vulnerable code lives specifically in its optional remote-telnet module (org.jline:jline-remote-telnet), which implements a Telnet server supporting RFC 1572 NEW-ENVIRON option negotiation. During negotiation the server parses NE_VAR/NE_USERVAR pairs in TelnetIO.readNEVariables() (TelnetIO.java:1127-1180) and inserts each into the environment map of ConnectionData, which is a plain HashMap constructed with initial capacity 20 and no maximum size (ConnectionData.java:98). This is a textbook CWE-400 (Uncontrolled Resource Consumption): per-variable length limits exist (name ≤50 chars, value ≤1000 chars) but there is no bound on the number of variables, so the parse loop keeps accumulating entries (~2 KB heap each) until the terminating IAC SE arrives. NEW-ENVIRON exchange occurs before authentication, so the allocation is fully attacker-controlled and pre-login.
RemediationAI
Upgrade the org.jline:jline-remote-telnet (and JLine3) dependency to a patched release - Vendor-released patch: 3.30.14, 4.0.16, or 4.2.1, choosing the one matching your current branch (3.30.x, 4.0.x, or 4.2.x). The fix (pull requests https://github.com/jline/jline3/pull/2000 and https://github.com/jline/jline3/pull/2001; commits 0389f0e, 4ee3a73, 934f09e) introduces a NE_VAR_COUNT_MAX cap of 100 variables in readNEVariables(), logging a warning and calling skipToSE()/returning once the limit is exceeded, and also adds upper bounds on reported terminal width/height. If you cannot upgrade immediately, restrict network reachability of the Telnet listener: bind it to localhost or an internal management VLAN, place it behind a firewall rule or ACL that limits source IPs, and require a network-layer gateway/VPN before the port - accepting that this breaks legitimate remote Telnet clients from disallowed networks. As a defense-in-depth measure, run the JVM with a bounded, sensibly-sized heap and enable process supervision/auto-restart so an OutOfMemoryError crash is recovered quickly, and consider disabling the remote-telnet feature entirely if it is not required, which fully removes the attack surface at the cost of remote console access. Details are in the advisory at https://github.com/jline/jline3/security/advisories/GHSA-47qp-hqvx-6r3f.
Oracle Java SE 7 Update 6 and earlier contains multiple sandbox bypass vulnerabilities via the ClassFinder and forName m
Remote code execution in IBM Sterling B2B Integrator, Sterling Integrator, and Tivoli Common Reporting allows unauthenti
Java Runtime Environment sandbox bypass via incorrect image channel verification in 2D component allows remote unauthent
Oracle Java SE JDK/JRE 7 and 6 Update 27 and earlier allows remote code execution with complete system compromise throug
JBoss Seam 2 in Red Hat JBoss EAP 4.3.0 fails to sanitize JBoss Expression Language inputs, allowing remote attackers to
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 update 4 and earlier, 6 up
Multiple vulnerabilities in Oracle Java 7 before Update 11 allow remote attackers to execute arbitrary code by (1) using
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 2 and earlier, 6 Up
The WLS Security component in Oracle WebLogic Server 10.3.6.0, 12.1.2.0, 12.1.3.0, and 12.2.1.0 allows remote attackers
Unspecified vulnerability in the Java Runtime Environment (JRE) component in Oracle Java SE 7 Update 7 and earlier allow
Remote unauthenticated attackers can execute arbitrary code on Adobe ColdFusion servers through Java deserialization fla
The ExceptionDelegator component in Apache Struts before 2.2.3.1 interprets parameter values as OGNL expressions during
Same weakness CWE-400 – Uncontrolled Resource Consumption
View allSame technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| openSUSE Leap 16.0 | Fixed |
| openSUSE Tumbleweed | Fixed |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
Share
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-45343
GHSA-47qp-hqvx-6r3f