OpenSSH 9.9p2 修复了两个严重的 MITM 漏洞

OpenSSH 提供了一组丰富的安全隧道功能

几天前, 达米安·米勒(Damien Miller) (OpenSSH 的开发人员之一), 广为人知通过邮件列表, OpenSSH 9.9p2 维护版本 修复了两个严重漏洞 Qualys 发现,该漏洞可能被利用来发起中间人 (MITM) 攻击。

提到这些故障 允许攻击者拦截 SSH 连接 并诱骗客户端接受恶意服务器的密钥而不是目标服务器的合法密钥。

CVE-2025-26465:SSH 密钥验证绕过

此修正版本发布中修复的第一个漏洞是 CVE-2025-26465。 此漏洞是由于 ssh 实用程序中的逻辑错误造成的, 这使得攻击者可以绕过服务器密钥验证并成功执行 MITM 攻击。

当客户端尝试连接时 到 SSH 服务器, 攻击者可以将流量重定向到虚假服务器 并导致客户端在没有警告的情况下接受错误的密钥,认为它已连接到合法服务器。

除此之外,此漏洞还:

  • 它自 6.8p1 版本(2014 年 XNUMX 月)以来就存在于 OpenSSH 中。
  • 当 VerifyHostKeyDNS 选项启用时触发。
  • 在基本 OpenSSH 配置中,此选项默认是禁用的,但在 FreeBSD 中,它一直启用到 2023 年 XNUMX 月。

至于原因 导致此失败的原因,其中提到 这是因为 verify_host_key_callback() 函数调用 verify_host_key(), 但它只检查返回的错误代码是否为 -1,而忽略其他错误代码(如 -2)。什么时候 当内存不足时,verify_host_key() 返回 -2,但由于遗漏了错误代码, 系统错误地认为主机密钥已经通过验证 正确地

因此,攻击者可以通过创建一个发送大型主机密钥(256 KB)的伪 SSH 服务器来利用此缺陷,从而导致客户端内存消耗过多并触发未处理的错误情况。

CVE-2025-26466:SSH 中的内存泄漏和过度 CPU 消耗

第二个被修正的漏洞是 CVE-2025-26466,该漏洞 影响 ssh 客户端和 sshd 服务器, 因为 允许耗尽内存 通过重复发送 SSH2_MSG_PING 数据包,可以阻止该进程并产生高 CPU 负载。

此漏洞的最大影响在于 无需身份验证即可利用该漏洞,并且会影响 OpenSSH 9.5p1 版本 (2023 年 XNUMX 月)。此外,它还允许攻击者消耗系统资源、降低性能甚至导致拒绝服务 (DoS)。

关于导致此故障的原因,提到这是由于 每个传入的 2 字节 SSH16_MSG_PING 数据包都会导致分配一个 256 字节的缓冲区 在记忆中。直到密钥协商完成时才会释放此缓冲区,从而导致在发送多个 PING 数据包时发生内存泄漏。

缓解和解决方案

解决方法是, 建议设置限制 在 sshd_config 中使用以下指令:

  • 登录宽限时间: 这限制了身份验证的超时时间。
  • MaxStartups: 限制未经身份验证的连接数量。
  • 每个来源的处罚: 对产生多次连接尝试的客户端施加惩罚。

至于 解决方案, 第一个也是最推荐的是 将 OpenSSH 升级到发布版本“9.9p2” 尽快修复这些漏洞。但如果立即升级不可行,则应采用上述缓解措施。此外,建议禁用 VerifyHostKeyDNS,除非使用可靠的 DNSSEC 验证机制。

如果你是 有兴趣了解更多关于它的信息, 您可以在中查看详细信息 以下链接。

如何在 Linux 上安装 OpenSSH?

对于那些对能够在其系统上安装此新版本的OpenSSH感兴趣的人, 现在他们可以做到 下载此源代码并 在他们的计算机上执行编译。

这是因为新版本尚未包含在主要Linux发行版的存储库中。 要获取源代码,您可以从 以下链接.

完成下载, 现在,我们将使用以下命令解压缩该软件包:

tar -xvf openssh-9.9p2.tar.gz

我们输入创建的目录:

cd openssh-9.9p2

Y 我们可以用 以下命令:

./configure --prefix = / opt --sysconfdir = / etc / ssh进行安装