CVE-2026-42258Ruby语言中的Net::IMAP库实现了Internet消息访问协议(IMAP)的客户端功能。在0.4.24、0.5.14和0.6.4版本之前,传递给IMAP命令的Symbol类型参数存在安全缺陷。攻击者可以利用这些参数进行CRLF注入或IMAP命令注入。由于该漏洞无需认证且无需用户交互即可通过网络利用,攻击者可能通过操纵发送到IMAP服务器的命令,从而窃取敏感数据、篡改邮件内容或破坏服务可用性,对系统安全构成严重威胁。
该漏洞的核心在于Ruby Net::IMAP库在构建IMAP协议命令时,对传入的Symbol类型参数缺乏足够的转义处理。IMAP协议作为基于文本的协议,其命令结构依赖于特定的换行符分隔。在受影响版本中,当应用程序将外部输入转换为Ruby Symbol对象并传递给Net::IMAP的命令方法(如SEARCH、FETCH或SELECT等)时,库直接将该Symbol转换为字符串拼接进命令中,未过滤其中的控制字符。攻击者可以精心构造包含CRLF字符(\r\n)的恶意Symbol,从而截断原始合法命令,并在其后注入恶意的IMAP指令。这种注入可能导致在未经授权的情况下执行邮件操作,如列出其他用户目录、删除邮件等。