CVE-2026-54697 PUBLISHED

ConnectBot SSH: Excessive allocation and integer overflow in DER private-key parsing

Assigner: GitHub_M
Reserved: 15.06.2026 Published: 13.10.2026 Updated: 13.10.2026

ConnectBot SSH Client Library is written in Kotlin with Kaitai Struct and KStateMachine. Prior to 0.3.1, DerReader.readLength() accepts excessive long-form DER length octets, accumulates them into an Int, and primitive readers allocate arrays without checking the declared size against the remaining input. An application or user that loads an attacker-provided private-key file through SshClient.authenticatePublicKey(), SshKeys.decodePemPrivateKey(), SshSigning.sign(), or SshSigning.getPublicKey() can trigger integer wraparound, excessive allocation, or an uncaught OutOfMemoryError. SSH server host keys and agent-forwarding messages do not use this application-supplied private-key input path. No usable weakened key and no confidentiality or integrity impact have been demonstrated. This issue is fixed in version 0.3.1.

Metrics

CVSS Vector: CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CVSS Score: 6.7

Product Status

Vendor connectbot
Product cbssh
Versions
  • Version < 0.3.1 is affected

References

Problem Types

  • CWE-190: Integer Overflow or Wraparound CWE
  • CWE-789: Memory Allocation with Excessive Size Value CWE