Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessVictim client connects to malicious or compromised SSH server
-
ExploitServer returns small malformed packet declaring oversized inner length/count
-
ExecutionKaitai Struct runtime attempts excessive array allocation before detecting truncation
-
ImpactUncaught OutOfMemoryError terminates client application process
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | The victim must actively initiate an SSH connection from an application using cbssh/sshlib <= 0.3.0 to an attacker-controlled or compromised SSH server; this user/application-initiated outbound connection is the core prerequisite (UI:A) and is the main limiting factor, since the attacker cannot push the malformed packet to passive victims. For the general transport path, no authentication and no optional feature are required - the malicious server only needs to return one malformed packet with an oversized inner length or element count. A second, narrower path through malformed SSH-agent protocol messages additionally requires that SSH agent forwarding be explicitly enabled by the client. Exploitation is limited to clients that connect to untrusted endpoints and results only in a crash of the client process. |
| Impact | This is a denial-of-service vulnerability (CWE-20, improper input validation) in the ConnectBot cbssh/sshlib SSH client library whose real-world priority is moderate, not critical. The vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H) correctly characterizes it: network-reachable, low complexity, no authentication, but it REQUIRES user interaction (UI:A) because the victim's client must first initiate a connection to an attacker-controlled or compromised SSH server - the server cannot reach out to victims. Impact is availability-only (VA:H); the advisory and description explicitly state there is NO confidentiality or integrity impact, so the score of 6.9 is driven entirely by process-crash DoS. No EPSS score was provided, there is no CISA KEV listing, and no public exploit code was identified, so all three exploitation-likelihood signals are either absent or negative and point to low active-exploitation pressure. The most important caveat: this is a client-side flaw triggered by a MALICIOUS SERVER, which inverts the usual threat model - it only matters for clients that connect to untrusted or potentially-compromised SSH endpoints, and the impact is limited to crashing the client application process. Note the input tag 'Information Disclosure' conflicts with the actual availability-only impact and appears to be mislabeled. |
| Exploit ScenarioDerived | A user running an application built on the vulnerable ConnectBot sshlib (<= 0.3.0) connects to an attacker-controlled or compromised SSH server. The server replies with a small, deliberately malformed packet whose inner length or element-count field declares a size far larger than the packet itself; the Kaitai Struct Java runtime pre-allocates a byte array for that declared size before detecting the truncated input, raising an uncaught OutOfMemoryError that terminates the client process. No public proof-of-concept exploit was identified, and exploitation requires the victim to initiate the connection (UI:A). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Denial of service in the ConnectBot cbssh/sshlib SSH client library (all versions through 0.3.0) lets a malicious or compromised SSH server crash the client process by returning a small malformed packet whose inner length or element-count fields are far larger than the containing packet. The Kaitai Struct Java runtime allocates an array using the attacker-declared length before it notices the input is truncated, producing excessive allocation and an uncaught OutOfMemoryError that terminates the host application; a second, narrower path exists through malformed SSH-agent messages, but only when SSH agent forwarding is enabled. The vulnerable client must initiate a connection to the hostile server (user interaction), which is the main limiting factor; there is no confidentiality or integrity impact, no authentication is required on the general transport path (CVSS 4.0 vector PR:N, UI:A), and no public exploit code was identified at time of analysis. The issue is fixed in version 0.3.1 and is not confirmed as actively exploited (CISA KEV).
RemediationAI
Upgrade the library to 0.3.1 or later, the vendor-released patched version, which introduces the length/count validation constraints and normalizes malformed-packet handling; the fix is contained in pull request 194 (https://github.com/connectbot/cbssh/pull/194) and commit a08421fbe7cf8b72fa60fb8b2f98fb465dc43fd9, with the release at https://github.com/connectbot/cbssh/releases/tag/v0.3.1 and details in advisory GHSA-ch3q-cw5r-f4hg. Where upgrading is not immediately possible, the only effective compensating control is to prevent the client from connecting to untrusted or unverified SSH endpoints, since the general transport path requires no authentication, no optional feature, and cannot be disabled by configuration - it can also be bounded by wrapping the client connection in a supervised process or thread that tolerates OutOfMemoryError termination, at the cost of losing the connection and any in-flight session state. Disabling SSH agent forwarding removes the second (agent-message) attack path but does nothing against the primary transport-path flaw, and restricting outbound SSH destinations or pinning known server host keys reduces exposure to attacker-controlled servers while breaking legitimate connections to unlisted hosts. Apply the upstream fix rather than relying on JVM heap tuning, which only shifts the allocation threshold and does not prevent the crash.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
cbssh/sshlib is a Kotlin SSH client library that parses the SSH wire protocol using Kaitai Struct definitions (.ksy files) compiled into Java parsers, with KStateMachine handling protocol state. SSH encodes strings as a 32-bit unsigned length prefix followed by that many bytes (RFC 4251 section 5), and several structures (byte strings, ASCII strings, name lists, mpint, public keys, signatures, ECDSA signature blobs, encrypted/unencrypted packets, agent messages, and keyboard-interactive message types) read these length or count fields directly. Because the generated Kaitai code allocates the destination byte array from the declared length before reading from the size-bounded input stream, an outer transport packet of modest size can carry an inner field claiming a length approaching the Java array limit, so the attacker never needs to transmit an equally large payload. Root cause is CWE-20 improper input validation: declared byte lengths and element counts were never validated against the bytes remaining in the containing stream (or against fixed-size element arithmetic for count fields). Parsing failures also surfaced inconsistently as unchecked runtime exceptions rather than transport protocol errors. The fix in PR #194 adds Kaitai 'valid' constraints such as '_ <= _io.size - _io.pos' (and element-size divisors like '/ 5', '/ 8') across the protocol definitions, and converts malformed packets into an SSH transport protocol error or an SSH agent failure response.
Know when Java gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Client must initiate connection to a malicious server (UI:R) with no auth (PR:N) over the network (AV:N); impact is an application-crash DoS only, so A:H and C:N/I:N.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
ConnectBot SSH Client Library is written in Kotlin with Kaitai Struct and KStateMachine. Prior to 0.3.1, the SSH protocol parser trusts attacker-controlled inner byte lengths and element counts without verifying that they fit in the containing packet. A malicious or compromised SSH server can return a small malformed packet whose oversized declarations cause the Kaitai Struct Java runtime to attempt excessive allocation or repeated parsing before detecting truncated input. The general transport path requires a client connection but no authentication or optional feature; malformed SSH-agent messages additionally require SSH agent forwarding. The issue can raise an uncaught OutOfMemoryError and terminate the application process, with no demonstrated confidentiality or integrity impact. This issue is fixed in version 0.3.1.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
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
EUVD-2026-98838
GHSA-ch3q-cw5r-f4hg
NVD
CVE.org
EPSS
Exploit-DB