Cyber Resilience

CVE-2023-48795

Erlang\/Otp ≤ 22.3.4.27

Public PoCHigh EPSS
Published
18 December 2023
Modified
12 May 2026
Patch / advisory
CVSS Score v3.1 5.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
EPSS Score 0.93 99.8th percentile
Risk Priority 72 floored blend · peak EPSS

Summary

CVE-2023-48795 is a medium-severity Improper Validation of Integrity Check Value (CWE-354) vulnerability in Erlang Erlang\/Otp. Its CVSS base score is 5.9 (Medium).

Operationally, exploitation aligns with the MITRE ATT&CK technique Supply Chain Compromise (T1195); ranked in the top 0.2% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2023-48795 is a protocol-level flaw in the SSH Binary Packet Protocol (BPP) handshake that affects OpenSSH before version 9.6 and numerous other implementations, including PuTTY before 0.80, Dropbear through 2022.83, libssh before 0.10.6, Paramiko before 3.4.0, AsyncSSH before 2.14.2, and many additional SSH libraries and products. The vulnerability, known as the Terrapin attack, stems from improper handling of sequence numbers and extension negotiation messages, allowing an attacker to omit packets from the handshake and thereby disable or downgrade integrity protections when ChaCha20-Poly1305 or CBC-with-Encrypt-then-MAC modes are in use.

A remote attacker positioned on the network path between client and server can exploit the flaw during the initial key exchange to strip selected packets without detection, resulting in a connection that has lost certain security properties while still appearing valid to both endpoints. The attack requires no authentication and succeeds against connections that negotiate the affected algorithms, though it is rated medium severity (CVSS 5.9) because of the high attack complexity involved.

Public advisories and coordinated disclosures referenced in the provided URLs describe vendor-specific patches that update the listed products to versions that correctly enforce sequence numbers and resist prefix truncation; operators are advised to apply those updates and, where feasible, prefer algorithms less susceptible to the prefix truncation technique.

EPSS for this CVE rose sharply from a low baseline to a peak of 0.9548 on 2025-01-22 before receding to the current value of 0.5300, indicating that exploitation interest increased substantially after public disclosure.

EU & UK References

Vulnerability Data

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remote attackers to bypass integrity checks such that some packets are omitted (from the extension negotiation message), and a client and server may…

more

consequently end up with a connection for which some security features have been downgraded or disabled, aka a Terrapin attack. This occurs because the SSH Binary Packet Protocol (BPP), implemented by these extensions, mishandles the handshake phase and mishandles use of sequence numbers. For example, there is an effective attack against SSH's use of ChaCha20-Poly1305 (and CBC with Encrypt-then-MAC). The bypass occurs in chacha20-poly1305@openssh.com and (if CBC is used) the -etm@openssh.com MAC algorithms. This also affects Maverick Synergy Java SSH API before 3.1.0-SNAPSHOT, Dropbear through 2022.83, Ssh before 5.1.1 in Erlang/OTP, PuTTY before 0.80, AsyncSSH before 2.14.2, golang.org/x/crypto before 0.17.0, libssh before 0.10.6, libssh2 through 1.11.0, Thorn Tech SFTP Gateway before 3.4.6, Tera Term before 5.1, Paramiko before 3.4.0, jsch before 0.2.15, SFTPGo before 2.5.6, Netgate pfSense Plus through 23.09.1, Netgate pfSense CE through 2.7.2, HPN-SSH through 18.2.0, ProFTPD before 1.3.8b (and before 1.3.9rc2), ORYX CycloneSSH before 2.3.4, NetSarang XShell 7 before Build 0144, CrushFTP before 10.6.0, ConnectBot SSH library before 2.2.22, Apache MINA sshd through 2.11.0, sshj through 0.37.0, TinySSH through 20230101, trilead-ssh2 6401, LANCOM LCOS and LANconfig, FileZilla before 3.66.4, Nova before 11.8, PKIX-SSH before 14.4, SecureCRT before 9.4.3, Transmit5 before 5.10.4, Win32-OpenSSH before 9.5.0.0p1-Beta, WinSCP before 6.2.2, Bitvise SSH Server before 9.32, Bitvise SSH Client before 9.33, KiTTY through 0.76.1.13, the net-ssh gem 7.2.0 for Ruby, the mscdex ssh2 module before 1.15.0 for Node.js, the thrussh library before 0.35.1 for Rust, and the Russh crate before 0.40.2 for Rust.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1195 Supply Chain Compromise Initial Access
Adversaries may manipulate products or product delivery mechanisms prior to receipt by a final consumer for the purpose of data or system compromise.
T1195.001 Compromise Software Dependencies and Development Tools Initial Access
Adversaries may manipulate software dependencies and development tools prior to receipt by a final consumer for the purpose of data or system compromise.
T1195.002 Compromise Software Supply Chain Initial Access
Adversaries may manipulate application software prior to receipt by a final consumer for the purpose of data or system compromise.
T1565 Data Manipulation Impact
Adversaries may insert, delete, or manipulate data in order to influence external outcomes or hide activity, thus threatening the integrity of the data.
T1565.002 Transmitted Data Manipulation Impact
Adversaries may alter data en route to storage or other systems in order to manipulate external outcomes or hide activity, thus threatening the integrity of the data.
T1601 Modify System Image Defense Impairment
Adversaries may make changes to the operating system of embedded network devices to weaken defenses and provide new capabilities for themselves.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2023-38802Same product: Debian Debian Linux
CVE-2025-24148Same product: Apple Macos
CVE-2026-49230Same vendor: Apache
CVE-2024-41909Same vendor: Apache
CVE-2023-33981Shared CWE-354
CVE-2023-28802Shared CWE-354
CVE-2024-23462Shared CWE-354
CVE-2026-32600Shared CWE-354
CVE-2026-16317Shared CWE-354
CVE-2023-42143Shared CWE-354

Affected Assets

openbsd
openssh
≤ 9.6
putty
putty
≤ 0.80
filezilla-project
filezilla client
≤ 3.66.4
panic
transmit 5
≤ 5.10.4
panic
nova
≤ 11.8
roumenpetrov
pkixssh
≤ 14.4
winscp
winscp
≤ 6.2.2
bitvise
ssh client
≤ 9.33
bitvise
ssh server
≤ 9.32
lancom-systems
lcos
≤ 3.66.4
+58 more product configuration(s) — see NVD for full list

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

Detect
Catch it (NIST detect / respond)

Harden
Shrink the surface (DISA STIG)
  • 10 hardening rules · 4 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V10.4.12

Likely Mitigating Controls AI

Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.

addresses: CWE-354

Proper validation of integrity check values is required for reliable tamper detection, directly reducing undetected modification risks.

addresses: CWE-354

Requires validation of integrity check values on every resolution response, directly mitigating tampered or corrupted DNS data.

addresses: CWE-354

Control mandates proper validation of integrity values (checksums) on prepared data, making flawed validation of those checks ineffective for attackers.

addresses: CWE-354

Requires use of proper integrity verification tools, reducing the chance an incorrect check value is accepted.

addresses: CWE-354

Requires proper validation of integrity mechanisms, directly mitigating flawed check-value handling.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.DS-01 mostly match
prevents

Requires cryptographic hashes and signatures that directly enforce integrity-check validation for data at rest.

PR.DS-02 mostly match
prevents

Requires cryptographic hashes and signatures that directly enforce integrity-check validation for data in transit.

ID.RA-09 partial match
prevents

Mandates pre-acquisition integrity assessment, addressing only the initial portion of the weakness lifecycle.

RC.RP-03 partial match
prevents

Requires verification of backup integrity, covering validation only within recovery scenarios.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

Cryptographic controls mandate integrity mechanisms whose correct validation directly prevents CWE-354.

prevents

Secure coding standards require proper implementation and validation of checksums or MACs.

finds

Security testing can detect missing integrity validation but does not itself implement the control.

prevents

Application security requirements include integrity checks on messages and data, mitigating improper validation.

none

Network security policies may require integrity protection on transit data, indirectly addressing the weakness.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248574 YUM must be configured to prevent the installation of patches, service packs, device drivers, or OL 8 system components that have not been digitally signed using a certificate that is recognized and approved by the organization. prevents CWE-354
  • V-248575 OL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-354
Oracle Linux 9 (1 rule)
  • V-271523 OL 9 must check the GPG signature of locally installed software packages before installation. prevents CWE-354
RHEL 7 (2 rules)
  • V-204447 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-354
  • V-204448 The Red Hat Enterprise Linux operating system must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-354
RHEL 8 (2 rules)
  • V-230264 RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components from a repository without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-354
  • V-230265 RHEL 8 must prevent the installation of software, patches, service packs, device drivers, or operating system components of local packages without verification they have been digitally signed using a certificate that is issued by a Certificate Authority (CA) that is recognized and approved by the organization. prevents CWE-354

References