CVE-2016-10708
High · 7.5CVSS
7.5
EPSS
15.7%
Published
Jan 21, 2018
CISA due date
—
Cloudanix analysis
Attackers can crash the SSH service on servers by sending one special message, briefly cutting off remote access until the service restarts.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Remote unauthenticated attacker sends out-of-sequence NEWKEYS message during key exchange, triggering NULL pointer dereference in kex.c and packet.c that crashes the sshd daemon.
Why it matters to the business
Temporary loss of SSH-based remote management and file transfer capabilities on affected servers, leading to operational downtime until the daemon is restarted.
How an attack unfolds
An attacker initiates an SSH connection and deliberately transmits a NEWKEYS message before the expected key exchange sequence completes, causing the daemon to dereference a null pointer and terminate.
How to fix it
Upgrade openssh-portable to the version containing commit 4a354fc231174901f2629437c2a6e924a2dd6772 or later; restart sshd after the update.
How to confirm the fix worked
Verify the installed OpenSSH build contains commit 4a354fc231174901f2629437c2a6e924a2dd6772; attempt to reproduce the crash with a fuzzer such as Honggfuzz on a test instance to confirm the defect is absent.
Typical attack path
- Open a TCP connection to the SSH port
- Send an out-of-sequence NEWKEYS message during the handshake
- Trigger NULL pointer dereference and observe daemon crash
How to detect it
Review sshd logs and system crash reports for entries referencing kex or packet handling failures around the time of unexpected daemon restarts.
What your security team should do
- Apply the fixed commit to all OpenSSH deployments immediately
- Restart sshd services after patching
- Monitor sshd process uptime and system logs for unexpected restarts
The record
sshd in OpenSSH before 7.4 allows remote attackers to cause a denial of service (NULL pointer dereference and daemon crash) via an out-of-sequence NEWKEYS message, as demonstrated by Honggfuzz, related to kex.c and packet.c.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | openssh | 0 | 1:7.4p1-1 |
| Debian:12 | openssh | 0 | 1:7.4p1-1 |
| Debian:13 | openssh | 0 | 1:7.4p1-1 |
| Debian:14 | openssh | 0 | 1:7.4p1-1 |
| Debian:7 | openssh | 0 | 1:6.0p1-4+deb7u7 |
| Debian:8 | openssh | 0 | 1:6.7p1-5+deb8u6 |
| Red Hat:enterprise_linux:7::client | openssh | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-askpass | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-cavs | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-clients | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-debuginfo | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-keycat | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-ldap | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-server | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | openssh-server-sysvinit | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::client | pam_ssh_agent_auth | 0 | 0:0.10.3-1.11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-askpass | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-cavs | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-clients | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-debuginfo | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-keycat | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-ldap | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-server | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | openssh-server-sysvinit | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::computenode | pam_ssh_agent_auth | 0 | 0:0.10.3-1.11.el7 |
| Red Hat:enterprise_linux:7::server | openssh | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-askpass | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-cavs | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-clients | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-debuginfo | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-keycat | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-ldap | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-server | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | openssh-server-sysvinit | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::server | pam_ssh_agent_auth | 0 | 0:0.10.3-1.11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-askpass | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-cavs | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-clients | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-debuginfo | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-keycat | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-ldap | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-server | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | openssh-server-sysvinit | 0 | 0:7.4p1-11.el7 |
| Red Hat:enterprise_linux:7::workstation | pam_ssh_agent_auth | 0 | 0:0.10.3-1.11.el7 |
| SUSE:Enterprise Storage 4 | openssh | 0 | 7.2p2-74.25.1 |
| SUSE:Enterprise Storage 4 | openssh-askpass-gnome | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | openssh | 0 | 7.2p2-74.19.1 |
| SUSE:Linux Enterprise Desktop 12 SP3 | openssh-askpass-gnome | 0 | 7.2p2-74.19.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | openssh | 0 | 6.2p2-0.41.5.1 |
| SUSE:Linux Enterprise Point of Sale 11 SP3 | openssh-askpass-gnome | 0 | 6.2p2-0.41.5.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | openssh | 0 | 6.2p2-0.41.5.1 |
| SUSE:Linux Enterprise Server 11 SP3-LTSS | openssh-askpass-gnome | 0 | 6.2p2-0.41.5.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | openssh | 0 | 6.2p2-0.41.5.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | openssh-askpass-gnome | 0 | 6.2p2-0.41.5.1 |
| SUSE:Linux Enterprise Server 11 SP4 | openssh | 0 | 6.6p1-36.3.1 |
| SUSE:Linux Enterprise Server 11 SP4 | openssh-askpass-gnome | 0 | 6.6p1-36.3.1 |
| SUSE:Linux Enterprise Server 11-SECURITY | openssh-openssl1 | 0 | 6.6p1-19.3.1 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | openssh | 0 | 6.6p1-54.15.2 |
| SUSE:Linux Enterprise Server 12 SP1-LTSS | openssh-askpass-gnome | 0 | 6.6p1-54.15.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | openssh | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Server 12 SP2-BCL | openssh-askpass-gnome | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | openssh | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Server 12 SP2-LTSS | openssh-askpass-gnome | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Server 12 SP3 | openssh | 0 | 7.2p2-74.19.1 |
| SUSE:Linux Enterprise Server 12 SP3 | openssh-askpass-gnome | 0 | 7.2p2-74.19.1 |
| SUSE:Linux Enterprise Server 12-LTSS | openssh | 0 | 6.6p1-54.15.2 |
| SUSE:Linux Enterprise Server 12-LTSS | openssh-askpass-gnome | 0 | 6.6p1-54.15.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | openssh | 0 | 6.6p1-36.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | openssh-askpass-gnome | 0 | 6.6p1-36.3.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | openssh | 0 | 6.6p1-54.15.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | openssh-askpass-gnome | 0 | 6.6p1-54.15.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | openssh | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP2 | openssh-askpass-gnome | 0 | 7.2p2-74.25.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | openssh | 0 | 7.2p2-74.19.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP3 | openssh-askpass-gnome | 0 | 7.2p2-74.19.1 |
| SUSE:OpenStack Cloud 7 | openssh | 0 | 7.2p2-74.25.1 |
| SUSE:OpenStack Cloud 7 | openssh-askpass-gnome | 0 | 7.2p2-74.25.1 |
| Ubuntu:14.04:LTS | openssh | 0 | 1:6.6p1-2ubuntu2.11 |
| Ubuntu:16.04:LTS | openssh | 0 | 1:7.2p2-4ubuntu2.6 |
| Ubuntu:18.04:LTS | openssh | 0 | 1:7.5p1-10 |
| Ubuntu:18.04:LTS | openssh | 0 | 1:7.6p1-4ubuntu0.1 |
Related vulnerabilities
- CVE-2023-51385 In ssh in OpenSSH before 9.6, OS command injection might occur if a user name or host… Also affects openssh
- CVE-2021-41617 sshd in OpenSSH 6.2 through 8.x before 8.8, when certain non-default configurations are… Also affects openssh
- CVE-2016-1908 The client in OpenSSH before 7.2 mishandles failed cookie generation for untrusted X11… Also affects openssh
- CVE-2016-6210 sshd in OpenSSH before 7.3, when SHA256 or SHA512 are used for user password hashing… Also affects openssh
- CVE-2016-10009 Untrusted search path vulnerability in ssh-agent.c in ssh-agent in OpenSSH before 7.4… Also affects openssh
- CVE-2016-8858 The kex_input_kexinit function in kex.c in OpenSSH 6.x and 7.x through 7.3 allows remote… Also affects openssh
- CVE-2016-6515 The auth_password function in auth-passwd.c in sshd in OpenSSH before 7.3 does not limit… Also affects openssh
- CVE-2015-8325 The do_setup_env function in session.c in sshd in OpenSSH through 7.2p2, when the… Also affects openssh