CVE-2025-26465
Medium · 6.8CVSS
6.8
EPSS
7.7%
Published
Feb 18, 2025
CISA due date
—
Cloudanix analysis
A flaw in how certain SSH connections verify server identity could let an attacker secretly intercept communications after draining system memory, so organizations should update their GitLab software to close the gap.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- High
- Impact
- Full Compromise
- Component
- Network Service
- Class
- Authentication Bypass
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Mishandling of error codes during host key verification with VerifyHostKeyDNS enabled allows a machine-in-the-middle attacker to impersonate a legitimate server after first exhausting client memory resources.
Why it matters to the business
Attackers could intercept or manipulate SSH-based connections used by GitLab instances, potentially leading to unauthorized access or data exposure in environments relying on DNS-based host key verification; the high attack complexity and lack of known exploitation reduce immediate operational risk but still require patching across dependent packages.
How an attack unfolds
An attacker positions themselves to intercept SSH traffic, forces memory exhaustion on the client to trigger the error code mishandling, then impersonates the legitimate server during host key verification to complete the man-in-the-middle attack.
How to fix it
Upgrade affected GitLab installations to the fixed commit 67af793e55bd098111d3c3e265cd2c92eb283f1c or later; disable VerifyHostKeyDNS where feasible until patches are applied; monitor for updated OpenSSH packages in the underlying environment.
How to confirm the fix worked
Confirm the GitLab package version includes commit 67af793e55bd098111d3c3e265cd2c92eb283f1c; test SSH connections with VerifyHostKeyDNS enabled against known hosts to verify proper error handling and key verification.
Typical attack path
- Position network access to perform traffic interception against a target using VerifyHostKeyDNS
- Trigger memory exhaustion conditions on the OpenSSH client
- Impersonate the legitimate SSH server during key verification
- Exploit mishandled error codes to bypass verification and establish the MITM session
How to detect it
Review SSH client logs for unexpected host key verification failures or memory exhaustion events preceding connection attempts; examine network traffic for anomalies during key verification phases.
What your security team should do
- Apply the fixed GitLab commit 67af793e55bd098111d3c3e265cd2c92eb283f1c immediately in all environments using SSH host key verification
- Review and disable VerifyHostKeyDNS if not strictly required
- Audit SSH client configurations for DNS-based verification usage
- Monitor upstream OpenSSH updates for related fixes
The record
A vulnerability was found in OpenSSH when the VerifyHostKeyDNS option is enabled. A machine-in-the-middle attack can be performed by a malicious machine impersonating a legit server. This issue occurs due to how OpenSSH mishandles error codes in specific conditions when verifying the host key. For an attack to be considered successful, the attacker needs to manage to exhaust the client's memory resource first, turning the attack complexity high.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:8 | openssh | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | openssh-askpass | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | openssh-cavs | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | openssh-clients | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | openssh-keycat | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | openssh-ldap | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | openssh-server | 0 | 8.0p1-26.el8_10 |
| AlmaLinux:8 | pam_ssh_agent_auth | 0 | 0.10.3-7.26.el8_10 |
| AlmaLinux:9 | openssh | 0 | 8.7p1-45.el9 |
| AlmaLinux:9 | openssh-askpass | 0 | 8.7p1-45.el9 |
| AlmaLinux:9 | openssh-clients | 0 | 8.7p1-45.el9 |
| AlmaLinux:9 | openssh-keycat | 0 | 8.7p1-45.el9 |
| AlmaLinux:9 | openssh-server | 0 | 8.7p1-45.el9 |
| AlmaLinux:9 | pam_ssh_agent_auth | 0 | 0.10.4-5.45.el9 |
| Alpine:v3.18 | openssh | 0 | 9.3_p2-r3 |
| Alpine:v3.19 | openssh | 0 | 9.7_p2-r5 |
| Alpine:v3.20 | openssh | 0 | 9.7_p1-r5 |
| Alpine:v3.21 | openssh | 0 | 9.9_p2-r0 |
| Alpine:v3.22 | openssh | 0 | 9.9_p2-r0 |
| Debian:11 | openssh | 0 | 1:8.4p1-5+deb11u4 |
| Debian:12 | openssh | 0 | 1:9.2p1-2+deb12u5 |
| Debian:13 | openssh | 0 | No fix |
| Debian:14 | openssh | 0 | 1:9.9p2-1 |
| Mageia:9 | openssh | 0 | 9.3p1-2.4.mga9 |
| SUSE:Enterprise Storage 7.1 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Enterprise Storage 7.1 | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Micro 5.1 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Micro 5.2 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Micro 5.3 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Micro 5.4 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Micro 5.5 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Module for Basesystem 15 SP6 | openssh | 0 | 9.6p1-150600.6.15.2 |
| SUSE:Linux Enterprise Module for Desktop Applications 15 SP6 | openssh-askpass-gnome | 0 | 9.6p1-150600.6.15.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | openssh | 0 | 7.2p2-81.26.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | openssh-askpass-gnome | 0 | 7.2p2-81.26.1 |
| SUSE:Linux Enterprise Server 12 SP5-LTSS | openssh8.4 | 0 | 8.4p1-8.16.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | openssh | 0 | 7.2p2-81.26.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | openssh-askpass-gnome | 0 | 7.2p2-81.26.1 |
| SUSE:Linux Enterprise Server LTSS Extended Security 12 SP5 | openssh8.4 | 0 | 8.4p1-8.16.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | openssh-askpass-gnome | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Manager Proxy 4.3 | openssh | 0 | 8.4p1-150300.3.42.1 |
| SUSE:Manager Server 4.3 | openssh | 0 | 8.4p1-150300.3.42.1 |
| openSUSE:Leap 15.6 | openssh | 0 | 9.6p1-150600.6.15.2 |
| openSUSE:Leap 15.6 | openssh-askpass-gnome | 0 | 9.6p1-150600.6.15.1 |
| openSUSE:Tumbleweed | openssh | 0 | 9.9p2-1.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-2023-48795 The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6… 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-2024-6409 A race condition vulnerability was discovered in how signals are handled by OpenSSH's… Also affects openssh
- CVE-2024-6387 A security regression (CVE-2006-5051) was discovered in OpenSSH's server (sshd). Also affects openssh
- CVE-2023-25136 OpenSSH server (sshd) 9.1 introduced a double-free vulnerability during… 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-2025-26466 A flaw was found in the OpenSSH package. Also affects openssh