超过 66 万台 Rsync 服务器受到代码执行攻击

Linux

超过 66 万台已暴露的 Rsync 服务器可能存在六个新漏洞,其中包括一个允许在服务器上远程执行代码的严重堆缓冲区溢出漏洞。

Rsync 是一种开源文件同步和数据传输工具,因其能够执行增量传输、减少数据传输时间和带宽使用而备受推崇。

它支持本地文件系统传输、通过 SSH 等安全协议进行远程传输,以及通过自己的守护进程直接进行文件同步。

该工具被 Rclone、DeltaCopy、ChronoSync 等备份系统、公共文件分发库以及云和服务器管理操作广泛使用。

Rsync 漏洞是由谷歌云和独立安全研究人员发现的,这些漏洞可以结合起来创建强大的利用链,导致远程系统入侵。

“在最严重的 CVE 中,攻击者只需要对 rsync 服务器(如公共镜像)进行匿名读取访问,就可以在服务器运行的机器上执行任意代码,”Openwall 上发布的公告写道。

这六个漏洞概述如下:

  • 堆缓冲区溢出(CVE-2024-12084): Rsync 守护进程对校验长度的处理不当导致缓冲区越界写入,从而引发漏洞。该漏洞影响 3.2.7 至 < 3.4.0 版本,可执行任意代码。缓解措施包括在编译时使用特定标记禁用 SHA256 和 SHA512 摘要支持。(CVSS 分数:9.8)
  • 通过未初始化堆栈泄漏信息 (CVE-2024-12085): 漏洞允许在比较文件校验和时泄漏未初始化的堆栈数据。攻击者可以操纵校验和长度来利用此漏洞。该漏洞影响 3.4.0 以下的所有版本,可通过使用 -ftrivial-auto-var-init=zero 标志编译以初始化堆栈内容来缓解。(CVSS 得分:7.5)
  • 服务器泄漏任意客户端文件 (CVE-2024-12086): 该漏洞允许恶意服务器在文件传输过程中使用被操纵的校验和值逐字节枚举和重建任意客户端文件。所有 3.4.0 以下版本均受影响。(CVSS评分:6.1)
  • 通过 –inc-recursive 选项进行路径遍历 (CVE-2024-12087): 使用–inc-recursive 选项时因符号链接验证不足而产生的问题。恶意服务器可在客户端上写入预定目录之外的文件。所有低于 3.4.0 的版本都存在漏洞。(CVSS 分数:6.5)
  • 绕过 –safe-links 选项 (CVE-2024-12088): 当 Rsync 无法正确验证包含其他链接的符号链接目的地时会出现漏洞。它会导致路径遍历和任意写入指定目录之外的文件。所有低于 3.4.0 的版本均受影响。(CVSS评分:6.5)
  • 符号链接竞赛条件 (CVE-2024-12747): 处理符号链接时的竞合条件导致的漏洞。利用该漏洞,攻击者可访问敏感文件并提升权限。所有 3.4.0 以下版本均受影响。(CVSS评分:5.6)

CERT 协调中心(CERT/CC)发布了一份关于 Rsync 漏洞的警告公告,指出 Red Hat、Arch、Gentoo、Ubuntu NixOS、AlmaLinux OS Foundation 和 Triton 数据中心受到影响。

然而,更多可能受影响的项目和供应商尚未做出回应。

CERT/CC 警告说:“如果将前两个漏洞(堆缓冲区溢出和信息泄露)结合起来,客户端就可以在运行 Rsync 服务器的设备上执行任意代码。”

“客户端只需要匿名读取服务器,如公共镜像。此外,攻击者还可以控制恶意服务器,读/写任何已连接客户端的任意文件。可以提取 SSH 密钥等敏感数据,并通过覆盖 ~/.bashrc 或 ~/.popt 等文件执行恶意代码。”

RedHat 在其关于 CVE-2024-12084 的公告中指出,目前还没有切实可行的缓解措施,而且在 Rsync 的默认配置中,该漏洞是可以被利用的。

“请记住,rsync 的默认 rsyncd 配置允许匿名文件同步,这是此漏洞的风险所在,”RedHat 解释说。

“否则,攻击者将需要有效凭证才能访问需要身份验证的服务器。”

建议所有用户尽快升级到 3.4.0 版。

广泛影响

BleepingComputer 进行的 Shodan 搜索显示,有超过 66 万个 IP 地址暴露了 Rsync 服务器。

大多数 IP 地址位于中国,有 521,000 个被暴露,其次是美国、香港、韩国和德国,但数量要少得多。

暴露的 Rsync 服务器的 Shodan 地图

在这些暴露的 Rsync 服务器中,306,517 台运行在默认 TCP 端口 873 上,21,239 台监听端口 8873(通常用于通过 SSH 隧道传输 Rsync)。

Binary Edge 也显示了大量暴露的 Rsync 服务器,但数量较少,只有 424,087 台。

虽然有许多服务器被暴露,但目前还不清楚它们是否会受到新披露漏洞的攻击,因为攻击者需要有效的凭据,或者服务器必须配置为匿名连接(我们没有进行测试)。

强烈建议所有 Rsync 用户升级到 3.4.0 版本,或将守护进程配置为需要凭据。

对于现在无法升级的用户,也可以在外围阻止 TCP 端口 873,这样服务器就无法远程访问了。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐