CVE-2026-32733Halloy是一款用Rust编写的IRC客户端。在特定提交版本之前,其DCC接收功能未对传入请求中的文件名进行清理,存在路径遍历漏洞。远程攻击者可发送包含`../`序列的恶意文件名,导致文件被写入用户配置目录之外。若启用了自动接受功能,受害者无需交互即可被攻击。
该漏洞发生在Halloy处理IRC DCC SEND协议的过程中。由于开发者在接收文件时未能对攻击者指定的文件名进行严格的输入验证和路径规范化,导致应用程序容易受到路径遍历攻击。攻击者可以在IRC频道中向目标用户发送特制的DCC SEND请求,文件名字段包含如`../../.ssh/authorized_keys`的路径跳转符。如果受害者的客户端配置了自动接受文件,文件将直接被写入攻击者指定的任意路径。这允许攻击者覆盖敏感系统文件或在用户系统中植入后门。该漏洞的根本原因是对用户输入缺乏“白名单”或路径标准化处理。修复版本引入了`sanitize_filename`函数,对文件名进行统一的安全过滤,移除所有路径分隔符和特殊字符,确保文件仅能保存在预设目录内。