IM
IronMonkey Threat Research

CVE-2023-48795 MEDIUM

Published: 2023-12-18 | Last Modified: 2026-05-12 | Status: Modified

Description

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 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 [email protected] and (if CBC is used) the [email protected] 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.

Additional Descriptions (1)

El protocolo de transporte SSH con ciertas extensiones OpenSSH, que se encuentra en OpenSSH anterior a 9.6 y otros productos, permite a atacantes remotos eludir las comprobaciones de integridad de modo que algunos paquetes se omiten (del mensaje de negociación de extensión) y, en consecuencia, un cliente y un servidor pueden terminar con una conexión para la cual algunas características de seguridad han sido degradadas o deshabilitadas, también conocido como un ataque Terrapin. Esto ocurre porque SSH Binary Packet Protocol (BPP), implementado por estas extensiones, maneja mal la fase de protocolo de enlace y el uso de números de secuencia. Por ejemplo, existe un ataque eficaz contra ChaCha20-Poly1305 (y CBC con Encrypt-then-MAC). La omisión se produce en [email protected] y (si se utiliza CBC) en los algoritmos MAC [email protected]. Esto también afecta a Maverick Synergy Java SSH API anterior a 3.1.0-SNAPSHOT, Dropbear hasta 2022.83, Ssh anterior a 5.1.1 en Erlang/OTP, PuTTY anterior a 0.80 y AsyncSSH anterior a 2.14.2; y podría haber efectos en Bitvise SSH hasta la versión 9.31, libssh hasta la 0.10.5 y golang.org/x/crypto hasta el 17 de diciembre de 2023.

CVSS Metrics

Base Score: 5.9 (MEDIUM)

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

Attack VectorNETWORK
Attack ComplexityHIGH
Privileges RequiredNONE
User InteractionNONE
ScopeUNCHANGED
Confidentiality ImpactNONE
Integrity ImpactHIGH
Availability ImpactNONE

Source: [email protected]

Type: Primary

Exploitability Score: 2.2

Impact Score: 3.6

Weaknesses

Source Type Description
[email protected] Primary
en CWE-354
134c704f-9b21-4f2e-91b3-4a467353bcc0 Secondary
en CWE-354

Affected Products

Vendor Product Version Update Type
openbsd openssh * <built-in method update of dict object at 0x7fd36936e980> Application
putty putty * <built-in method update of dict object at 0x7fd28976e040> Application
filezilla-project filezilla_client * <built-in method update of dict object at 0x7fd28976d1c0> Application
panic transmit_5 * <built-in method update of dict object at 0x7fd28976eb80> Application
panic nova * <built-in method update of dict object at 0x7fd28976f000> Application
roumenpetrov pkixssh * <built-in method update of dict object at 0x7fd28976c280> Application
winscp winscp * <built-in method update of dict object at 0x7fd28976db00> Application
bitvise ssh_client * <built-in method update of dict object at 0x7fd28976e780> Application
bitvise ssh_server * <built-in method update of dict object at 0x7fd28976f680> Application
lancom-systems lcos * <built-in method update of dict object at 0x7fd28976fc80> Operating System
lancom-systems lcos_fx - <built-in method update of dict object at 0x7fd28976ec40> Operating System
lancom-systems lcos_lx - <built-in method update of dict object at 0x7fd384dd3800> Operating System
lancom-systems lcos_sx 4.20 <built-in method update of dict object at 0x7fd38670a180> Operating System
lancom-systems lcos_sx 5.20 <built-in method update of dict object at 0x7fd28976e400> Operating System
lancom-systems lanconfig - <built-in method update of dict object at 0x7fd34b8da980> Operating System
vandyke securecrt * <built-in method update of dict object at 0x7fd3606c16c0> Application
libssh libssh * <built-in method update of dict object at 0x7fd3606c25c0> Application
net-ssh net-ssh 7.2.0 <built-in method update of dict object at 0x7fd28976d600> Application
ssh2_project ssh2 * <built-in method update of dict object at 0x7fd28976eb40> Application
proftpd proftpd * <built-in method update of dict object at 0x7fd3606c3040> Application
freebsd freebsd * <built-in method update of dict object at 0x7fd36936d4c0> Operating System
crates thrussh * <built-in method update of dict object at 0x7fd3606c3700> Application
tera_term_project tera_term * <built-in method update of dict object at 0x7fd3606c0e80> Application
oryx-embedded cyclone_ssh * <built-in method update of dict object at 0x7fd39c471b00> Application
crushftp crushftp * <built-in method update of dict object at 0x7fd28976e100> Application
netsarang xshell_7 * <built-in method update of dict object at 0x7fd28976ee00> Application
paramiko paramiko * <built-in method update of dict object at 0x7fd3606c0a80> Application
redhat openshift_container_platform 4.0 <built-in method update of dict object at 0x7fd384dd2700> Application
redhat openstack_platform 16.1 <built-in method update of dict object at 0x7fd3606c36c0> Application
redhat openstack_platform 16.2 <built-in method update of dict object at 0x7fd2d3f29480> Application
redhat openstack_platform 17.1 <built-in method update of dict object at 0x7fd28976c5c0> Application
redhat ceph_storage 6.0 <built-in method update of dict object at 0x7fd384e28200> Application
redhat enterprise_linux 8.0 <built-in method update of dict object at 0x7fd36936c680> Operating System
redhat enterprise_linux 9.0 <built-in method update of dict object at 0x7fd36b1f8cc0> Operating System
redhat openshift_serverless - <built-in method update of dict object at 0x7fd3703cd500> Application
redhat openshift_gitops - <built-in method update of dict object at 0x7fd2dbcb9780> Application
redhat openshift_pipelines - <built-in method update of dict object at 0x7fd384639b40> Application
redhat openshift_developer_tools_and_services - <built-in method update of dict object at 0x7fd2dbcba980> Application
redhat openshift_data_foundation 4.0 <built-in method update of dict object at 0x7fd2d3f295c0> Application
redhat openshift_api_for_data_protection - <built-in method update of dict object at 0x7fd34118d600> Application
redhat openshift_virtualization 4 <built-in method update of dict object at 0x7fd3854dd280> Application
redhat storage 3.0 <built-in method update of dict object at 0x7fd39c407540> Application
redhat discovery - <built-in method update of dict object at 0x7fd3703cf840> Application
redhat openshift_dev_spaces - <built-in method update of dict object at 0x7fd36b57c140> Application
redhat cert-manager_operator_for_red_hat_openshift - <built-in method update of dict object at 0x7fd36b1f92c0> Application
redhat keycloak - <built-in method update of dict object at 0x7fd3703cdac0> Application
redhat jboss_enterprise_application_platform 7.0 <built-in method update of dict object at 0x7fd3703ceb00> Application
redhat single_sign-on 7.0 <built-in method update of dict object at 0x7fd3703ce780> Application
redhat advanced_cluster_security 3.0 <built-in method update of dict object at 0x7fd3703cf100> Application
redhat advanced_cluster_security 4.0 <built-in method update of dict object at 0x7fd3703cce00> Application
golang crypto * <built-in method update of dict object at 0x7fd36b1fb380> Application
russh_project russh * <built-in method update of dict object at 0x7fd2a1b78b40> Application
sftpgo_project sftpgo * <built-in method update of dict object at 0x7fd36b1f9780> Application
erlang erlang\/otp * <built-in method update of dict object at 0x7fd36b57eb00> Application
erlang erlang\/otp * <built-in method update of dict object at 0x7fd36b85f800> Application
erlang erlang\/otp * <built-in method update of dict object at 0x7fd36b1fbcc0> Application
erlang erlang\/otp * <built-in method update of dict object at 0x7fd2d82df200> Application
erlang erlang\/otp * <built-in method update of dict object at 0x7fd36b1fb480> Application
matez jsch * <built-in method update of dict object at 0x7fd36b1fbb00> Application
libssh2 libssh2 * <built-in method update of dict object at 0x7fd36b1f8700> Application
asyncssh_project asyncssh * <built-in method update of dict object at 0x7fd36b1facc0> Application
dropbear_ssh_project dropbear_ssh * <built-in method update of dict object at 0x7fd36b1faa00> Application
jadaptive maverick_synergy_java_ssh_api * <built-in method update of dict object at 0x7fd36b1fafc0> Application
ssh ssh * <built-in method update of dict object at 0x7fd36b1fa140> Application
ssh ssh * <built-in method update of dict object at 0x7fd36b57c600> Application
ssh ssh * <built-in method update of dict object at 0x7fd36b1fb740> Application
ssh ssh * <built-in method update of dict object at 0x7fd3703cdfc0> Application
ssh ssh * <built-in method update of dict object at 0x7fd36b1f8c80> Application
thorntech sftp_gateway_firmware * <built-in method update of dict object at 0x7fd36b1f9600> Operating System
netgate pfsense_plus * <built-in method update of dict object at 0x7fd3703ce0c0> Application
netgate pfsense_ce * <built-in method update of dict object at 0x7fd36b25e600> Application
crushftp crushftp * <built-in method update of dict object at 0x7fd36b57f680> Application
connectbot sshlib * <built-in method update of dict object at 0x7fd36b85f380> Application
apache sshd * <built-in method update of dict object at 0x7fd3703b8100> Application
apache sshj * <built-in method update of dict object at 0x7fd2d82dccc0> Application
tinyssh tinyssh * <built-in method update of dict object at 0x7fd2d82dfb00> Application
trilead ssh2 6401 <built-in method update of dict object at 0x7fd2d82dc180> Application
9bis kitty * <built-in method update of dict object at 0x7fd2d82dde80> Application
gentoo security - <built-in method update of dict object at 0x7fd2d82dfcc0> Application
fedoraproject fedora 38 <built-in method update of dict object at 0x7fd36b57f380> Operating System
fedoraproject fedora 39 <built-in method update of dict object at 0x7fd3606c2600> Operating System
debian debian_linux 10.0 <built-in method update of dict object at 0x7fd3606c1540> Operating System
apple macos * <built-in method update of dict object at 0x7fd3606c2b80> Operating System

Affected Configurations

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:openbsd:openssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:putty:putty:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:filezilla-project:filezilla_client:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
No cpe:2.3:o:apple:macos:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:panic:transmit_5:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
No cpe:2.3:o:apple:macos:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:panic:nova:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:roumenpetrov:pkixssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:winscp:winscp:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:bitvise:ssh_client:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:bitvise:ssh_server:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:lancom-systems:lcos:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:lancom-systems:lcos_fx:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:lancom-systems:lcos_lx:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:lancom-systems:lcos_sx:4.20:*:*:*:*:*:*:*
Yes cpe:2.3:o:lancom-systems:lcos_sx:5.20:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:lancom-systems:lanconfig:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:vandyke:securecrt:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:libssh:libssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:net-ssh:net-ssh:7.2.0:*:*:*:*:ruby:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:ssh2_project:ssh2:*:*:*:*:*:node.js:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:proftpd:proftpd:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:freebsd:freebsd:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:crates:thrussh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:tera_term_project:tera_term:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:oryx-embedded:cyclone_ssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:crushftp:crushftp:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:netsarang:xshell_7:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:paramiko:paramiko:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_container_platform:4.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openstack_platform:16.1:*:*:*:*:*:*:*
Yes cpe:2.3:a:redhat:openstack_platform:16.2:*:*:*:*:*:*:*
Yes cpe:2.3:a:redhat:openstack_platform:17.1:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:ceph_storage:6.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:redhat:enterprise_linux:8.0:*:*:*:*:*:*:*
Yes cpe:2.3:o:redhat:enterprise_linux:9.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_serverless:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_gitops:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_pipelines:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_developer_tools_and_services:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_data_foundation:4.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_api_for_data_protection:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_virtualization:4:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:storage:3.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:discovery:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:openshift_dev_spaces:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:cert-manager_operator_for_red_hat_openshift:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:keycloak:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:jboss_enterprise_application_platform:7.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:single_sign-on:7.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:redhat:advanced_cluster_security:3.0:*:*:*:*:*:*:*
Yes cpe:2.3:a:redhat:advanced_cluster_security:4.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:golang:crypto:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:russh_project:russh:*:*:*:*:*:rust:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:sftpgo_project:sftpgo:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:matez:jsch:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:libssh2:libssh2:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:asyncssh_project:asyncssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:dropbear_ssh_project:dropbear_ssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:jadaptive:maverick_synergy_java_ssh_api:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:ssh:ssh:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:ssh:ssh:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:ssh:ssh:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:ssh:ssh:*:*:*:*:*:*:*:*
Yes cpe:2.3:a:ssh:ssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:thorntech:sftp_gateway_firmware:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:netgate:pfsense_plus:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:netgate:pfsense_ce:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:crushftp:crushftp:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:connectbot:sshlib:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:apache:sshd:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:apache:sshj:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:tinyssh:tinyssh:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:trilead:ssh2:6401:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:9bis:kitty:*:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:a:gentoo:security:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
No cpe:2.3:o:debian:debian_linux:-:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:fedoraproject:fedora:38:*:*:*:*:*:*:*
Yes cpe:2.3:o:fedoraproject:fedora:39:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*

Operator: OR

Vulnerable CPE
Yes cpe:2.3:o:apple:macos:*:*:*:*:*:*:*:*

References