CVE-2026-42256Ruby的Net::IMAP库在特定版本中存在安全漏洞。当使用SCRAM-SHA1或SCRAM-SHA256机制进行连接认证时,恶意IMAP服务器可以通过发送超出预期的迭代计数值,触发客户端进行大量的计算操作。这会导致客户端进程资源耗尽,从而实施计算型拒绝服务攻击。该漏洞影响了0.4.0至0.4.24、0.5.0至0.5.14及0.6.0至0.6.4之前的版本。
该漏洞源于Ruby Net::IMAP库在处理SCRAM(Salted Challenge Response Authentication Mechanism)认证协议时的逻辑缺陷。SCRAM协议要求客户端根据服务器提供的迭代计数进行多次哈希运算以证明身份。在受影响版本中,库未对服务器返回的迭代计数值进行合理的上限校验。攻击者若控制了IMAP服务器,可在认证响应中发送一个极大的迭代计数值(例如数百万或更高)。当Ruby客户端尝试计算响应时,将被迫执行极其繁重的哈希运算,导致CPU资源长期被占用,最终造成服务停止响应或进程崩溃。虽然攻击向量需要用户交互(UI:R),即客户端需主动连接恶意服务器,但在自动化脚本或邮件客户端自动连接场景下,攻击链极易达成,危害较大。