CVE-2023-51767
High · 7.0CVSS
7.0
EPSS
0.7%
Published
Dec 24, 2023
CISA due date
—
Cloudanix analysis
Someone already on the same computer might be able to trick login checks into thinking a password worked by using a hardware memory trick.
- Exploitation
- Local Privilege
- Attacker needs
- Low Privilege
- Complexity
- High
- Impact
- Full Compromise
- Component
- Network Service
- Class
- Authentication Bypass
- Remediation
- No Fix Yet
- Effort
- Other
- Patch risk
- Other
What it actually does
A single-bit flip in the integer 'authenticated' variable within mm_answer_authpassword allows an attacker to change its value and bypass authentication checks when row hammer is performed on common DRAM types.
Why it matters to the business
Local attackers sharing hardware with a victim could obtain unauthorized elevated access, increasing risk of compromise in multi-tenant or shared environments, though the vendor disputes responsibility for hardware-level weaknesses.
How an attack unfolds
An attacker with existing local user privileges on a co-located system uses row hammer techniques against DRAM to flip a targeted bit in the authenticated flag during an authentication attempt, resulting in successful bypass without valid credentials.
How to fix it
Upgrade OpenSSH beyond version 10.0 where possible; for affected packages apply the listed fixes including apache/mesos (GIT) at 612ec2c63a68b4d5b60d1d864e6703fde1c2a023 and org.apache.mesos/mesos (maven) at 1.5.1; evaluate hardware-level mitigations such as ECC memory.
How to confirm the fix worked
Confirm OpenSSH version exceeds 10.0, review process memory protections, and test authentication flows under simulated bit-flip conditions if feasible.
Typical attack path
- Gain local user privileges on the target system
- Identify memory layout of the OpenSSH process
- Execute row hammer attack to flip a single bit in the authenticated variable
- Initiate authentication request that succeeds due to the altered flag
How to detect it
Review authentication logs for unexpected successes from low-privileged accounts; examine system memory error reports or row hammer indicators, though specific artifacts are limited due to the hardware nature of the attack.
What your security team should do
- Evaluate local attack surface and co-location risks given the 1042 days since publication and stable low EPSS
- Prioritize upgrades to the specified fixed versions in dependent packages
- Consider platform memory integrity features as supplemental controls
- Monitor vendor statements regarding hardware responsibility disputes
The record
OpenSSH through 10.0, when common types of DRAM are used, might allow row hammer attacks (for authentication bypass) because the integer value of authenticated in mm_answer_authpassword does not resist flips of a single bit. NOTE: this is applicable to a certain threat model of attacker-victim co-location in which the attacker has user privileges. NOTE: this is disputed by the Supplier, who states "we do not consider it to be the application's responsibility to defend against platform architectural weaknesses."
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Chainguard | openssh | 0 | 9.6_p1-r0 |
| Chainguard | openssh-client | 0 | 9.6_p1-r0 |
| Chainguard | openssh-doc | 0 | 9.6_p1-r0 |
| Chainguard | openssh-keygen | 0 | 9.6_p1-r0 |
| Chainguard | openssh-keyscan | 0 | 9.6_p1-r0 |
| Chainguard | openssh-keysign | 0 | 9.6_p1-r0 |
| Chainguard | openssh-pam-config | 0 | 9.6_p1-r0 |
| Chainguard | openssh-pam-configuration | 0 | 9.6_p1-r0 |
| Chainguard | openssh-pkcs11-helper | 0 | 9.6_p1-r0 |
| Chainguard | openssh-server | 0 | 9.6_p1-r0 |
| Chainguard | openssh-server-config | 0 | 9.6_p1-r0 |
| Chainguard | openssh-service | 0 | 9.6_p1-r0 |
| Chainguard | openssh-sftp-server | 0 | 9.6_p1-r0 |
| Chainguard | openssh-sk-helper | 0 | 9.6_p1-r0 |
| Debian:10 | openssh | 0 | No fix |
| Debian:11 | openssh | 0 | No fix |
| Debian:12 | openssh | 0 | No fix |
| Debian:13 | openssh | 0 | No fix |
| Debian:14 | openssh | 0 | No fix |
| Ubuntu:20.04:LTS | openssh | 0 | No fix |
| Ubuntu:20.04:LTS | openssh-ssh1 | 0 | No fix |
| Ubuntu:22.04:LTS | openssh | 0 | No fix |
| Ubuntu:22.04:LTS | openssh-ssh1 | 0 | No fix |
| Ubuntu:Pro:14.04:LTS | openssh | 0 | No fix |
| Ubuntu:Pro:16.04:LTS | openssh | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openssh | 0 | No fix |
| Ubuntu:Pro:18.04:LTS | openssh-ssh1 | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | openssh-ssh1 | 0 | No fix |
| Ubuntu:Pro:22.04:LTS | openssh-ssh1 | 0 | No fix |
| Wolfi | openssh | 0 | 9.6_p1-r0 |
| Wolfi | openssh-client | 0 | 9.6_p1-r0 |
| Wolfi | openssh-doc | 0 | 9.6_p1-r0 |
| Wolfi | openssh-keygen | 0 | 9.6_p1-r0 |
| Wolfi | openssh-keyscan | 0 | 9.6_p1-r0 |
| Wolfi | openssh-keysign | 0 | 9.6_p1-r0 |
| Wolfi | openssh-pam-config | 0 | 9.6_p1-r0 |
| Wolfi | openssh-pam-configuration | 0 | 9.6_p1-r0 |
| Wolfi | openssh-pkcs11-helper | 0 | 9.6_p1-r0 |
| Wolfi | openssh-server | 0 | 9.6_p1-r0 |
| Wolfi | openssh-server-config | 0 | 9.6_p1-r0 |
| Wolfi | openssh-service | 0 | 9.6_p1-r0 |
| Wolfi | openssh-sftp-server | 0 | 9.6_p1-r0 |
| Wolfi | openssh-sk-helper | 0 | 9.6_p1-r0 |
Related vulnerabilities
- CVE-2023-25136 OpenSSH server (sshd) 9.1 introduced a double-free vulnerability during… Also affects openssh
- 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-10009 Untrusted search path vulnerability in ssh-agent.c in ssh-agent in OpenSSH before 7.4… Also affects openssh
- CVE-2010-5107 The default configuration of OpenSSH through 6.1 enforces a fixed time limit between… Also affects openssh
- CVE-2008-5161 Error handling in the SSH protocol in (1) SSH Tectia Client and Server and Connector 4.0… Also affects openssh
- CVE-2008-4109 A certain Debian patch for OpenSSH before 4.3p2-9etch3 on etch; before 4.6p1-1 on sid and… Also affects openssh
- CVE-2008-0166 OpenSSL 0.9.8c-1 up to versions before 0.9.8g-9 on Debian-based operating systems uses a… Also affects openssh