CVE-2026-22782CVE-2026-22782是RustFS分布式对象存储系统中一个严重的安全漏洞。该漏洞存在于RustFS的RPC认证模块中,影响版本从1.0.0-alpha.1到1.0.0-alpha.79。攻击者可以通过发送带有无效签名的RPC请求来触发该漏洞,导致服务器在日志中记录共享的HMAC密钥和预期签名。由于RPC和管理请求处理程序都可以访问这个存在漏洞的函数,攻击者无需任何认证即可利用此漏洞。成功利用此漏洞可能导致HMAC密钥泄露,攻击者可以利用泄露的密钥伪造任意RPC调用,进而可能实现对分布式存储系统的未授权访问、数据篡改或拒绝服务攻击。该漏洞的CVSS评分为7.5,属于高危级别,对系统的机密性构成严重威胁。
该漏洞的根本原因在于RustFS的HTTP认证模块(crates/ecstore/src/rpc/http_auth.rs)中存在不安全的日志记录实现。当RPC请求的签名验证失败时,代码会执行一条日志语句,该语句会输出secret和expected_signature这两个敏感变量。这两个变量都直接来源于用于验证RPC请求的共享HMAC密钥。攻击者只需要构造一个带有任意签名的RPC请求发送到目标服务器,即可触发签名验证失败的代码路径。由于该函数同时被RPC请求处理器和管理请求处理器调用,攻击面非常广泛。攻击者可以通过读取服务器日志获取HMAC密钥,然后使用该密钥为任意请求生成有效签名,从而绕过整个认证机制。这使得攻击者可以完全控制分布式存储系统的RPC通信,可能导致敏感数据泄露或系统被完全接管。