OpenSSH漏洞预警:无需用户交互,可提权至 root

  OpenSSH 自 1995 年问世近 20 年来,首次出现了未经验证的远程执行(RCE)漏洞,攻击者可以提权至 root 最高权限,在不需要用户交互的情况下执行任意代码。

  OpenSSH 是一套基于 Secure Shell(SSH)协议的网络实用程序,广泛用于安全远程登录、管理远程服务器,通过 scp 或 sftp 备份、远程文件传输等功能。

  该漏洞于今年 5 月被网络安全公司 Qualys 发现,追踪编号为 CVE-2024-6387,存在于 OpenSSH 服务器(sshd)中,由于信号处理器竞赛条件存在缺陷,可以让未经认证的远程攻击者以 root 用户身份执行任意代码。

  2024 年 7 月,互联网公开披露了一个 OpenSSH 的远程代码执行漏洞(CVE-2024-6387)。鉴于该漏洞虽然利用较为困难但危害较大,建议所有使用受影响的企业尽快修复该漏洞。

  漏洞描述

  漏洞成因

  CVE-2024-6387 是 OpenSSH 服务器中的一个严重漏洞,影响基于 glibc 的 Linux 系统。默认配置下的 OpenSSH Server (sshd)中存在信号处理程序竞争条件漏洞,如果客户端未在 LoginGraceTime 秒内(默认情况下为 120 秒,旧版 OpenSSH 中为 600 秒)进行身份验证,则 sshd 的 SIGALRM 处理程序将被异步调用,但该信号处理程序会调用各种非 async-signal-safe 的函数(例如 syslog ()),威胁者可利用该漏洞在基于 glibc 的 Linux 系统上以 root 身份实现未经身份验证的远程代码执行。

  漏洞影响

  成功利用该漏洞的攻击者可以以 root 身份进行未经身份验证的远程代码执行 (RCE)。在某些特定版本的 32 位操作系统上,攻击者最短需 6-8 小时即可获得最高权限的 root shell。而在 64 位机器上,目前没有在可接受时间内的利用方案,但未来的改进可能使其成为现实。

  • 处置优先级:高
  • 漏洞类型:远程代码执行
  • 漏洞危害等级:高
  • 触发方式:网络远程
  • 权限认证要求:无需权限
  • 系统配置要求:默认配置可利用
  • 用户交互要求:无需用户交互
  • 利用成熟度:部分 EXP 已公开(适配单一版本,32 位系统)
  • 批量可利用性:可使用通用原理 POC/EXP 进行检测/利用
  • 修复复杂度:中,官方提供升级修复方案

  影响版本

  8. 5p1 <= OpenSSH < 9.8p1

  OpenBSD 系统不受该漏洞影响

  缓解措施

  如果暂时无法更新或重新编译 sshd

  1. 可以在配置文件中将 LoginGraceTime 设置为 0(永不超时)。这样虽然会使 sshd 暴露于拒绝服务攻击(占满所有 Startups 连接),但可以避免远程代码执行风险。
  2. 启用 fail2ban 等防护机制,封禁发生过多次失败登录 ssh 尝试的来源 IP。

  升级修复方案

  将 OpenSSH 更新到最新版本 9.8 或者各发行版本的修复版本。

  注:资料来源于互联网