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 0x72a9a3090f40> Application
putty putty * <built-in method update of dict object at 0x72a99a7f0e00> Application
filezilla-project filezilla_client * <built-in method update of dict object at 0x72a99a7f0800> Application
panic transmit_5 * <built-in method update of dict object at 0x72a9cc52ec80> Application
panic nova * <built-in method update of dict object at 0x72a9a3090980> Application
roumenpetrov pkixssh * <built-in method update of dict object at 0x72a9a3093940> Application
winscp winscp * <built-in method update of dict object at 0x72a99a7f3b80> Application
bitvise ssh_client * <built-in method update of dict object at 0x72a99a7f1c40> Application
bitvise ssh_server * <built-in method update of dict object at 0x72a99a7f1840> Application
lancom-systems lcos * <built-in method update of dict object at 0x72a9a3090800> Operating System
lancom-systems lcos_fx - <built-in method update of dict object at 0x72a99a7f2080> Operating System
lancom-systems lcos_lx - <built-in method update of dict object at 0x72a99a7f1700> Operating System
lancom-systems lcos_sx 4.20 <built-in method update of dict object at 0x72a99a7f1200> Operating System
lancom-systems lcos_sx 5.20 <built-in method update of dict object at 0x72a99a7f3900> Operating System
lancom-systems lanconfig - <built-in method update of dict object at 0x72a99a7f2280> Operating System
vandyke securecrt * <built-in method update of dict object at 0x72a99a7f3e40> Application
libssh libssh * <built-in method update of dict object at 0x72a9a3093a40> Application
net-ssh net-ssh 7.2.0 <built-in method update of dict object at 0x72a99a7f0780> Application
ssh2_project ssh2 * <built-in method update of dict object at 0x72a99a7f3d80> Application
proftpd proftpd * <built-in method update of dict object at 0x72a9cc52fa80> Application
freebsd freebsd * <built-in method update of dict object at 0x72a99a7f30c0> Operating System
crates thrussh * <built-in method update of dict object at 0x72a99a7f12c0> Application
tera_term_project tera_term * <built-in method update of dict object at 0x72a99a7f2c40> Application
oryx-embedded cyclone_ssh * <built-in method update of dict object at 0x72a99a7f2e40> Application
crushftp crushftp * <built-in method update of dict object at 0x72a99a7f3280> Application
netsarang xshell_7 * <built-in method update of dict object at 0x72a99a7f0600> Application
paramiko paramiko * <built-in method update of dict object at 0x72a9b0c46cc0> Application
redhat openshift_container_platform 4.0 <built-in method update of dict object at 0x72a99a7f3300> Application
redhat openstack_platform 16.1 <built-in method update of dict object at 0x72a99a7f2a40> Application
redhat openstack_platform 16.2 <built-in method update of dict object at 0x72a99a7f1f80> Application
redhat openstack_platform 17.1 <built-in method update of dict object at 0x72a99a7f0d00> Application
redhat ceph_storage 6.0 <built-in method update of dict object at 0x72a9b0b4b0c0> Application
redhat enterprise_linux 8.0 <built-in method update of dict object at 0x72a9b0b49380> Operating System
redhat enterprise_linux 9.0 <built-in method update of dict object at 0x72a9b0b4a0c0> Operating System
redhat openshift_serverless - <built-in method update of dict object at 0x72a9b0b48e80> Application
redhat openshift_gitops - <built-in method update of dict object at 0x72a9b0b4a4c0> Application
redhat openshift_pipelines - <built-in method update of dict object at 0x72a9b0b496c0> Application
redhat openshift_developer_tools_and_services - <built-in method update of dict object at 0x72a9cc120e40> Application
redhat openshift_data_foundation 4.0 <built-in method update of dict object at 0x72a9cc1217c0> Application
redhat openshift_api_for_data_protection - <built-in method update of dict object at 0x72a9cc120480> Application
redhat openshift_virtualization 4 <built-in method update of dict object at 0x72a9cc1230c0> Application
redhat storage 3.0 <built-in method update of dict object at 0x72a9cc121880> Application
redhat discovery - <built-in method update of dict object at 0x72a9cc121100> Application
redhat openshift_dev_spaces - <built-in method update of dict object at 0x72a9cc123100> Application
redhat cert-manager_operator_for_red_hat_openshift - <built-in method update of dict object at 0x72a9cc121780> Application
redhat keycloak - <built-in method update of dict object at 0x72a9cc1201c0> Application
redhat jboss_enterprise_application_platform 7.0 <built-in method update of dict object at 0x72a9cc123c00> Application
redhat single_sign-on 7.0 <built-in method update of dict object at 0x72a9cc120dc0> Application
redhat advanced_cluster_security 3.0 <built-in method update of dict object at 0x72a9cc123180> Application
redhat advanced_cluster_security 4.0 <built-in method update of dict object at 0x72a9cc121340> Application
golang crypto * <built-in method update of dict object at 0x72a9cc1213c0> Application
russh_project russh * <built-in method update of dict object at 0x72a9cc121d00> Application
sftpgo_project sftpgo * <built-in method update of dict object at 0x72a9cc120740> Application
erlang erlang\/otp * <built-in method update of dict object at 0x72a9cc123c40> Application
erlang erlang\/otp * <built-in method update of dict object at 0x72a9cc121500> Application
erlang erlang\/otp * <built-in method update of dict object at 0x72a9cc52f980> Application
erlang erlang\/otp * <built-in method update of dict object at 0x72a9b0dc4080> Application
erlang erlang\/otp * <built-in method update of dict object at 0x72a9b0dc7e00> Application
matez jsch * <built-in method update of dict object at 0x72a9b0dc51c0> Application
libssh2 libssh2 * <built-in method update of dict object at 0x72a9b0dc4640> Application
asyncssh_project asyncssh * <built-in method update of dict object at 0x72a9b0dc6d00> Application
dropbear_ssh_project dropbear_ssh * <built-in method update of dict object at 0x72a9b0dc6600> Application
jadaptive maverick_synergy_java_ssh_api * <built-in method update of dict object at 0x72a9b0dc4c00> Application
ssh ssh * <built-in method update of dict object at 0x72a9b0dc6140> Application
ssh ssh * <built-in method update of dict object at 0x72a9b0dc5dc0> Application
ssh ssh * <built-in method update of dict object at 0x72a9b0dc6900> Application
ssh ssh * <built-in method update of dict object at 0x72a9b0dc64c0> Application
ssh ssh * <built-in method update of dict object at 0x72a9b0dc6680> Application
thorntech sftp_gateway_firmware * <built-in method update of dict object at 0x72a9b0dc7840> Operating System
netgate pfsense_plus * <built-in method update of dict object at 0x72a9b0dc4300> Application
netgate pfsense_ce * <built-in method update of dict object at 0x72a9b0dc4700> Application
crushftp crushftp * <built-in method update of dict object at 0x72a9b0dc5080> Application
connectbot sshlib * <built-in method update of dict object at 0x72a9b0dc4e00> Application
apache sshd * <built-in method update of dict object at 0x72a9b0dc7640> Application
apache sshj * <built-in method update of dict object at 0x72a9b0dc46c0> Application
tinyssh tinyssh * <built-in method update of dict object at 0x72a951fef040> Application
trilead ssh2 6401 <built-in method update of dict object at 0x72a951feca80> Application
9bis kitty * <built-in method update of dict object at 0x72a951fee800> Application
gentoo security - <built-in method update of dict object at 0x72a951feee00> Application
fedoraproject fedora 38 <built-in method update of dict object at 0x72a951fed500> Operating System
fedoraproject fedora 39 <built-in method update of dict object at 0x72a951fed180> Operating System
debian debian_linux 10.0 <built-in method update of dict object at 0x72a951fec640> Operating System
apple macos * <built-in method update of dict object at 0x72a951fefd80> 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

Notification
Message here