找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

3710

积分

1

好友

502

主题
发表于 2026-2-13 06:11:50 | 查看: 26| 回复: 0

FREEBUF 安全行业门户标识

网络安全警报与混淆代码示意图

专为隔离和保护 JavaScript 执行而设计的 SandboxJS 库近期曝出四个高危漏洞(CVE-2026-25520、CVE-2026-25586、CVE-2026-25587 和 CVE-2026-25641),这些漏洞均获得 CVSS 10.0 的最高风险评分。攻击者可借此完全突破沙箱限制,在宿主系统上执行任意代码。

对于依赖 SandboxJS 安全运行非受信代码的开发者而言,这些发现无异于拉响了最高级别的安全警报。该库所承诺的安全隔离机制,已被多种能够绕过核心防护的攻击途径彻底瓦解。

漏洞技术细节

函数返回值处理缺陷(CVE-2026-25520)

该漏洞利用库函数处理返回值时的逻辑缺陷。正常情况下,沙箱会对返回的对象进行封装,以防止其与外部环境交互。但此漏洞允许攻击者通过精心构造的方法调用链,访问宿主的 Function 构造函数。

安全公告明确指出:“函数返回值未被正确封装”。攻击者可以利用 Object.valuesObject.entries 等方法,从一个看似无害的返回值中获取包含宿主构造函数的数组,从而获得 JavaScript 引擎的完整控制权,实现沙箱逃逸。

Map对象安全机制失效(CVE-2026-25587)

该漏洞针对通常被视为相对安全的 Map 对象。问题根源在于库的 let 实现存在缺陷,允许攻击者覆写 Map.prototype.has 这一关键方法。

公告强调:“由于 Map 被列入 SAFE_PROTOYPES,其原型可通过 Map.prototype 获取”。攻击者通过覆写 has 方法,能够操纵沙箱内部的属性存在性检查逻辑,进而破坏沙箱的隔离性,实现逃逸。

宿主原型污染漏洞(CVE-2026-25586)

这是此次披露的漏洞组中最危险的一个。它利用了 SandboxJS 使用 hasOwnProperty 进行属性检查的机制。攻击者可以对一个已被沙箱化的对象的 hasOwnProperty 方法进行“影子替换”或直接覆写。

公告警告:“当 hasOwnProperty 的返回值为真时,白名单检查将被跳过”。这一看似简单的技巧,即可绕过沙箱对 __proto__ 等敏感原型的访问限制,使攻击者能自由地污染宿主环境的原型链,最终执行任意代码。

检查时与使用时差漏洞(CVE-2026-25641)

这是一个典型的“检查时与使用时差”(TOCTOU)漏洞,源于库在验证属性键与实际使用该属性键之间存在微小的时间差。

公告解释:“攻击者可传入恶意对象,这些对象在使用时会强制转换为不同的字符串值”。这使得在安全检查阶段看起来完全无害的属性键,在实际被沙箱访问时,会动态转变为包含恶意载荷的字符串,从而绕过过滤规则。

影响范围与修复方案

所有四个高危漏洞均影响 SandboxJS 0.8.28 及更早的所有版本。库维护者已在最新的 0.8.29 版本中发布了完整的修复补丁。

对于广大开发者,尤其是那些在业务中涉及运行非受信 JavaScript 代码(如插件系统、在线代码编辑器、模板渲染等)的团队,当前最紧迫的行动就是立即将 SandboxJS 升级至 0.8.29 或更高版本。这不仅是简单的版本更新,更是一次关键的安全加固,直接关系到宿主应用乃至底层系统的安全。这类漏洞的挖掘与分析也是渗透测试与高级攻防演练中的核心课题。

参考来源:
Code Red: 4 Critical SandboxJS Flaws (CVSS 10.0) Allow Host Takeover
https://securityonline.info/code-red-4-critical-sandboxjs-flaws-cvss-10-0-allow-host-takeover/




上一篇:Darktrace蜜罐捕获:AI生成恶意软件利用React2Shell漏洞攻击Docker容器
下一篇:数字寄生虫威胁分析:MITRE ATT&CK视角下的持久化与隐蔽性攻击趋势
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-23 13:00 , Processed in 0.582222 second(s), 52 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表