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.
https://www.cisa.gov/news-events/ics-advisories/icsa-24-319-08
https://www.cisa.gov/news-events/ics-advisories/icsa-24-193-11
https://cert-portal.siemens.com/productcert/html/ssa-455250.html
https://www.vandyke.com/products/securecrt/history.txt
https://www.theregister.com/2023/12/20/terrapin_attack_ssh
https://www.terrapin-attack.com
https://www.suse.com/c/suse-addresses-the-ssh-v2-protocol-terrapin-attack-aka-cve-2023-48795/
https://www.reddit.com/r/sysadmin/comments/18idv52/cve202348795_why_is_this_cve_still_undisclosed/
https://www.paramiko.org/changelog.html
https://www.openwall.com/lists/oss-security/2023/12/20/3
https://www.openwall.com/lists/oss-security/2023/12/18/2
https://www.openssh.com/txt/release-9.6
https://www.openssh.com/openbsd.html
https://www.netsarang.com/en/xshell-update-history/
https://www.lancom-systems.de/service-support/allgemeine-sicherheitshinweise#c243508
https://www.freebsd.org/security/advisories/FreeBSD-SA-23:19.openssh.asc
https://www.debian.org/security/2023/dsa-5588
https://www.debian.org/security/2023/dsa-5586
https://www.crushftp.com/crush10wiki/Wiki.jsp?page=Update
https://www.chiark.greenend.org.uk/~sgtatham/putty/changes.html
https://www.bitvise.com/ssh-server-version-history
https://www.bitvise.com/ssh-client-version-history#933
https://winscp.net/eng/docs/history#6.2.2
https://ubuntu.com/security/CVE-2023-48795
https://twitter.com/TrueSkrillor/status/1736774389725565005
https://thorntech.com/cve-2023-48795-and-sftp-gateway/
https://support.apple.com/kb/HT214084
https://security.netapp.com/advisory/ntap-20240105-0004/
https://security.gentoo.org/glsa/202312-17
https://security.gentoo.org/glsa/202312-16
https://security-tracker.debian.org/tracker/source-package/trilead-ssh2
https://security-tracker.debian.org/tracker/source-package/proftpd-dfsg
https://security-tracker.debian.org/tracker/source-package/libssh2
https://security-tracker.debian.org/tracker/CVE-2023-48795
https://roumenpetrov.info/secsh/#news20231220
https://psirt.global.sonicwall.com/vuln-detail/SNWLID-2024-0002
https://oryx-embedded.com/download/#changelog
https://nova.app/releases/#v11.8
https://news.ycombinator.com/item?id=38732005
https://news.ycombinator.com/item?id=38685286
https://news.ycombinator.com/item?id=38684904
https://nest.pijul.com/pijul/thrussh/changes/D6H7OWTTMHHX6BTB3B6MNBOBX2L66CBL4LGSEUSAI2MCRCJDQFRQC
https://matt.ucc.asn.au/dropbear/CHANGES
https://lists.debian.org/debian-lts-announce/2024/04/msg00016.html
https://lists.debian.org/debian-lts-announce/2024/01/msg00014.html
https://lists.debian.org/debian-lts-announce/2024/01/msg00013.html
https://lists.debian.org/debian-lts-announce/2023/12/msg00017.html
https://help.panic.com/releasenotes/transmit5/
https://groups.google.com/g/golang-announce/c/qA3XtxvMUyg
https://groups.google.com/g/golang-announce/c/-n5WqVC18LQ
https://gitlab.com/libssh/libssh-mirror/-/tags
https://github.com/warp-tech/russh/releases/tag/v0.40.2
https://github.com/ssh-mitm/ssh-mitm/issues/165
https://github.com/ronf/asyncssh/tags
https://github.com/ronf/asyncssh/blob/develop/docs/changes.rst
https://github.com/rapier1/hpn-ssh/releases
https://github.com/proftpd/proftpd/issues/456
https://github.com/proftpd/proftpd/blob/master/RELEASE_NOTES
https://github.com/proftpd/proftpd/blob/d21e7a2e47e9b38f709bec58e3fa711f759ad0e1/RELEASE_NOTES
https://github.com/proftpd/proftpd/blob/0a7ea9b0ba9fcdf368374a226370d08f10397d99/RELEASE_NOTES
https://github.com/paramiko/paramiko/issues/2337
https://github.com/openssh/openssh-portable/commits/master
https://github.com/net-ssh/net-ssh/blob/2e65064a52d73396bfc3806c9196fc8108f33cd8/CHANGES.txt#L14-L16
https://github.com/mwiede/jsch/pull/461
https://github.com/mwiede/jsch/issues/457
https://github.com/mwiede/jsch/compare/jsch-0.2.14...jsch-0.2.15
https://github.com/mscdex/ssh2/commit/97b223f8891b96d6fc054df5ab1d5a1a545da2a3
https://github.com/mkj/dropbear/blob/17657c36cce6df7716d5ff151ec09a665382d5dd/CHANGES#L25
https://github.com/libssh2/libssh2/pull/1291
https://github.com/jtesta/ssh-audit/commit/8e972c5e94b460379fe0c7d20209c16df81538a5
https://github.com/janmojzis/tinyssh/issues/81
https://github.com/hierynomus/sshj/issues/916
https://github.com/golang/crypto/commit/9d2ee975ef9fe627bf0a6f01c1f69e8ef1d4f05d
https://github.com/erlang/otp/releases/tag/OTP-26.2.1
https://github.com/drakkan/sftpgo/releases/tag/v2.5.6
https://github.com/cyd01/KiTTY/issues/520
https://github.com/connectbot/sshlib/compare/2.2.21...2.2.22
https://github.com/connectbot/sshlib/commit/5c8b534f6e97db7ac0e0e579331213aa25c173ab
https://github.com/apache/mina-sshd/issues/445
https://github.com/advisories/GHSA-45x7-px36-x8w8
https://github.com/TeraTermProject/teraterm/releases/tag/v5.1
https://github.com/TeraTermProject/teraterm/commit/7279fbd6ef4d0c8bdd6a90af4ada2899d786eec0
https://github.com/PowerShell/Win32-OpenSSH/releases/tag/v9.5.0.0p1-Beta
https://github.com/PowerShell/Win32-OpenSSH/issues/2189
https://github.com/NixOS/nixpkgs/pull/275249
https://forum.netgate.com/topic/184941/terrapin-ssh-attack
https://filezilla-project.org/versions.php
https://crates.io/crates/thrussh/versions
https://bugzilla.suse.com/show_bug.cgi?id=1217950
https://bugzilla.redhat.com/show_bug.cgi?id=2254210
https://bugs.gentoo.org/920280
https://access.redhat.com/security/cve/cve-2023-48795
http://www.openwall.com/lists/oss-security/2024/04/17/8
http://www.openwall.com/lists/oss-security/2024/03/06/3
http://www.openwall.com/lists/oss-security/2023/12/20/3
http://www.openwall.com/lists/oss-security/2023/12/19/5
http://www.openwall.com/lists/oss-security/2023/12/18/3
http://seclists.org/fulldisclosure/2024/Mar/21
http://packetstormsecurity.com/files/176280/Terrapin-SSH-Connection-Weakening.html
Published: 2023-12-18
Updated: 2024-05-01
Base Score: 5.4
Vector: CVSS2#AV:N/AC:H/Au:N/C:N/I:C/A:N
Severity: Medium
Base Score: 5.9
Vector: CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
Severity: Medium
Base Score: 9.3
Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Severity: Critical