超过660000台暴露的Rsync服务器可能受到六个新漏洞的攻击,其中包含一个严重程度极高的堆缓冲区溢出漏洞,该漏洞允许在服务器上执行远程代码。
Rsync是一款开源的文件同步和数据传输工具,因其能够执行增量传输而备受青睐,可减少数据传输时间和带宽使用量。它支持本地文件系统传输、通过安全协议如SSH进行远程传输,并可以通过其自身的守护进程直接同步文件。
该工具被诸如Rclone、DeltaCopy、ChronoSync等备份系统,公共文件分发仓库以及云和服务器管理操作广泛使用。
Rsync漏洞由Google Cloud和独立安全研究人员发现,可组合形成强大的利用链,导致远程系统被攻陷。Openwall 发布的公告称:“在最严重的CVE漏洞中,攻击者仅需对Rsync服务器拥有匿名读取权限,例如公共镜像,便可在服务器运行的机器上执行任意代码。”
以下是六个漏洞的概述:
- 堆缓冲区溢出(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发布了有关Rsync漏洞的公告,将Red Hat、Arch、Gentoo、Ubuntu NixOS、AlmaLinux OS基金会以及Triton数据中心列为受影响方。更多可能受影响的项目和供应商尚未做出回应。
CERT警告称:“前两个漏洞(堆缓冲区溢出和信息泄露)组合起来,允许客户端在运行Rsync服务器的设备上执行任意代码。客户端只需对服务器进行匿名读取访问,例如公共镜像。此外,攻击者可控制恶意服务器,读取/写入任何连接客户端的任意文件。提取例如SSH密钥的敏感数据,并通过覆盖文件(如~/.bashrc或~/.popt)来执行恶意代码。”
RedHat在关于CVE-2024-12084的公告中指出没有实际的缓解措施,该漏洞在Rsync的默认配置下即可被利用。RedHat 解释道:“请记住,Rsync的默认rsyncd配置允许匿名文件同步,这存在该漏洞的风险。否则,攻击者需要拥有需要认证的服务器的有效凭证。”
建议所有用户都尽快升级至3.4.0版本。
参考链接: