Deno 高危漏洞可导致密钥泄露(CVE-2026-22863)与代码执行(CVE-2026-22864)

阅读量7185

发布时间 : 2026-01-19 16:51:31

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源:securityonline

原文地址:https://securityonline.info/critical-deno-flaws-risk-secrets-cve-2026-22863-execution-cve-2026-22864/

译文仅供参考,具体内容表达以及含义原文为准。

以 “默认安全” 架构闻名的现代 JavaScript/TypeScript 运行时 Deno 近期曝出两个重大安全漏洞。这两个漏洞分别影响运行时的加密兼容性层Windows 平台的命令执行机制,可能导致敏感服务器密钥泄露,并允许攻击者执行任意代码。

CVE-2026-22863:高危密钥泄露漏洞(CVSS 9.2)

两个漏洞中最严重的是 CVE-2026-22863,CVSS 评分 9.2。该漏洞存在于 Deno 的 node:crypto 兼容层 —— 一个用于让 Deno 运行 Node.js 代码的模块。
根据安全公告,node:crypto 的实现没有正确终结(finalize)加密器(cipher)。在标准的加密流程中,final() 方法应结束加密过程并清理内部状态。然而在受影响的 Deno 版本中,该方法没有真正关闭 cipher,导致加密器处于 “可无限加密” 的异常状态。
这一缺陷的影响极为严重。报告指出,这种状态管理错误 “可能导致攻击者进行暴力破解,或发起更高级的攻击以窃取服务器密钥”。分析中提供的 PoC 显示,调用 cipher.final() 后返回的是一个仍处于激活状态的 Cipheriv 对象,其内部缓冲状态仍然可被访问,而非预期的已关闭 CipherBase

CVE-2026-22864:Windows 命令执行绕过(RCE)

第二个漏洞 CVE-2026-22864 影响 Deno 在 Windows 上启动子进程的能力。研究人员发现,这是一个 “对已修补漏洞的绕过”,涉及在执行批处理文件时使用 Deno.Command API
Deno 原本包含防止 shell 注入的安全机制。当用户尝试直接运行 .bat 文件时,Deno 会抛出 PermissionDenied 错误,并提示开发者 “使用 shell 执行 bat 或 cmd 文件”,以确保参数被安全处理。

然而研究人员找到了绕过方法:

通过修改文件扩展名的大小写(例如使用 .BAT)或操控传入命令的参数,攻击者可以绕过 Deno 的安全限制。报告中包含的 PoC 截图显示,一个脚本通过在批处理执行上下文里注入参数 ["&calc.exe"],成功执行了 Windows 计算器(calc.exe),从而在目标机器上实现任意代码执行

建议与修复

官方强烈建议用户立即升级到 Deno v2.6.0 或更高版本以修复这两个漏洞。
本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66