CVE-2026-43861Mutt邮件客户端在2.3.2之前的版本中存在一个安全漏洞,该漏洞源于`url_pct_decode`函数在处理URL百分号编码时,未能正确检查解码后的字符串中是否存在空字节('\0')。攻击者可以通过构造特制的URL,在解码过程中注入空字节,导致字符串被意外截断。虽然该漏洞被评定为低危,且利用复杂度较高,但成功利用可能影响程序的完整性,导致URL解析逻辑出现偏差或绕过特定的安全检查。
该漏洞的核心在于Mutt邮件客户端中处理URL百分号编码的`url_pct_decode`函数存在输入验证缺失。在C语言中,字符串以空字节('\0')作为结束标志。正常的URL解码过程应检查解码后的内容是否包含非法字符或控制字符。然而,在受影响版本中,函数直接解码十六进制序列(如%00转换为'\0')并将其拼接到目标缓冲区,未对空字节进行过滤或转义。攻击者可以利用这一缺陷,精心构造包含`%00`序列的恶意URL。当受害者使用Mutt处理包含此类URL的邮件时,解码函数生成的空字节将导致字符串提前终止。这可能绕过基于字符串长度或内容匹配的安全检查,例如,欺骗安全机制认为URL已经结束,从而忽略其后可能存在的恶意参数或路径。尽管CVSS评分仅为3.7(低危),且主要影响完整性(I:L),但这种逻辑缺陷可能在特定上下文中被进一步利用来篡改邮件内容解析流程。官方在后续版本中通过增加对空字节的显式检查修复了此问题。