CVE-2025-14874CVE-2025-14874是影响Nodemailer的一个高危拒绝服务漏洞。该漏洞存在于Nodemailer的电子邮件地址解析器中,攻击者可以通过构造包含特殊格式的邮件地址头部信息来触发无限递归。当Nodemailer尝试解析这些恶意构造的地址时,解析器会陷入无限递归循环,不断调用自身而无法返回最终结果。这种无限递归会迅速耗尽服务器的CPU和内存资源,最终导致应用程序崩溃或变得完全无响应。由于该漏洞可以通过网络远程触发,且无需任何认证或用户交互即可实现攻击,因此对所有使用Nodemailer处理外部邮件的应用构成严重威胁。CVSS评分7.5(高危)表明该漏洞具有较高的利用可行性和显著的影响范围。
该漏洞的根本原因在于Nodemailer的地址解析器在处理某些特殊格式的邮件地址头时缺少适当的递归深度限制和终止条件检查。攻击者可以构造包含深层嵌套引用或特殊转义字符的邮件地址,例如包含多个嵌套尖括号和引号的复杂地址字符串。当解析器遇到这种精心设计的输入时,会尝试逐层解析每个嵌套结构,但由于缺少循环检测和深度限制机制,解析器会持续递归调用自身直到栈空间耗尽。技术实现上,攻击者可以在SMTP会话的MAIL FROM、RCPT TO命令中,或在邮件头部的From、To、Cc等字段中注入恶意构造的地址。解析器在处理这些字段时会调用parseAddressList或类似的解析函数,该函数在遇到畸形输入时无法正确终止递归。最终,服务器进程会因栈溢出(Stack Overflow)或内存耗尽(Out of Memory)而崩溃,导致服务中断。