这些漏洞分别影响了运行时的加密兼容性与Windows平台的命令执行功能,可能导致服务器敏感密钥泄露,进而使攻击者能够执行任意代码。
以“默认安全”架构著称的现代JavaScript/TypeScript运行时Deno,近日曝出两个重大安全漏洞。这些问题涉及运行时对加密的兼容处理以及Windows平台的命令执行机制,存在服务器密钥泄露风险,并可能允许攻击者在受影响系统上运行任意代码。

加密模块漏洞(CVE-2026-22863)
其中最为严重的CVE-2026-22863漏洞CVSS评分高达9.2,存在于Deno的node:crypto兼容层中——该模块旨在让Deno能够运行为Node.js编写的代码。
根据安全公告,node:crypto的实现未能正确终止加密操作。在标准加密流程中,final()方法本应结束加密过程并清理状态。但在受影响的版本中,该方法会使加密流保持开启状态,实质上允许了“无限加密”。
报告指出,这种状态管理缺陷“可能导致暴力破解尝试,以及更精细的攻击手段以获取服务器密钥”。分析报告中提供的PoC显示,调用cipher.final()会产生一个仍保持活动状态且内部缓冲区可访问的Cipheriv对象,而非预期的已关闭CipherBase对象。
Windows命令执行漏洞(CVE-2026-22864)
第二个漏洞CVE-2026-22864影响Deno在Windows平台创建子进程的能力。分析报告详细描述了通过Deno.Command API执行批处理文件时“绕过已修复漏洞”的方法。
Deno本应具备防止子进程注入攻击的安全机制。当用户尝试直接运行.bat文件时,Deno通常会抛出PermissionDenied错误,提示开发者“使用shell执行bat或cmd文件”以确保参数安全处理。
但研究人员发现可通过修改文件扩展名大小写(特别是.BAT)或操纵命令参数来绕过限制。报告中的PoC截图显示,攻击者能通过在批处理文件执行环境中注入参数(args: ["&calc.exe"])成功运行calc.exe(Windows计算器),实现在主机上执行任意代码。
修复建议
用户应立即升级至Deno v2.6.0或更高版本以修复这些漏洞。
