CVE-2026-41319MailKit是一个跨平台邮件客户端库。4.16.0之前版本存在STARTTLS响应注入漏洞,允许MITM攻击者跨越明文至TLS边界注入响应。这导致SASL认证机制降级(如强制PLAIN代替SCRAM-SHA-256)。漏洞源于STARTTLS升级时,SmtpStream等内部缓冲区未刷新,导致预TLS注入数据被作为可信TLS后响应处理。4.16.0版本已修复。
该漏洞源于MailKit在处理STARTTLS命令时的逻辑缺陷。当客户端发送STARTTLS请求升级连接时,库会将底层流替换为SslStream,但并未清空SmtpStream、ImapStream或Pop3Stream的内部读取缓冲区。处于中间人位置的攻击者可以在TLS握手完成前,向明文通道注入恶意协议响应(如伪造的SASL机制列表)。这些恶意数据驻留在缓冲区中。当TLS握手完成,应用首次读取流时,会优先返回缓冲区中的数据。由于应用认为连接已加密,便信任这些伪造响应,从而接受弱认证机制(如PLAIN),导致凭据以明文形式泄露。