關鍵詞
漏洞
![]()
專為隔離和保護 JavaScript 執行而設計的 SandboxJS 庫近期曝出四個高危漏洞(CVE-2026-25520、CVE-2026-25586、CVE-2026-25587 和 CVE-2026-25641),這些漏洞均獲得 CVSS 10.0 的最高風險評分,攻擊者可借此完全突破沙箱限制,在宿主系統上執行任意代碼。
對于依賴 SandboxJS 安全運行非受信代碼的開發者而言,這些發現無異于"紅色警報"。該庫的安全承諾已被多種繞過核心防護的攻擊途徑徹底瓦解。
漏洞技術細節
函數返回值處理缺陷(CVE-2026-25520)
該漏洞利用庫函數處理返回值時的邏輯缺陷。正常情況下,沙箱會對對象進行封裝以防止其與外部環境交互,但此漏洞允許攻擊者通過方法調用鏈訪問宿主的 Function 構造函數。安全公告指出:"函數返回值未被正確封裝",攻擊者可通過 Object.values 或 Object.entries 獲取包含宿主構造函數的數組,從而獲得引擎控制權。
Map對象安全機制失效(CVE-2026-25587)
該漏洞針對通常被視為安全的 Map 對象,問題源于庫的 let 實現存在缺陷,允許攻擊者覆寫 Map.prototype.has 方法。公告強調:"由于 Map 被列入 SAFE_PROTOYPES,其原型可通過 Map.prototype 獲取",通過覆寫這一核心方法,攻擊者可操縱沙箱內部邏輯實現逃逸。
宿主原型污染漏洞(CVE-2026-25586)
這是該漏洞組中最危險的漏洞,利用 SandboxJS 使用 hasOwnProperty 進行屬性檢查的機制。攻擊者可對沙箱化對象的 hasOwnProperty 進行"影子替換"或覆寫。公告警告:"當返回值為真時,白名單檢查將被跳過",這一簡單技巧即可繞過對proto等敏感原型的訪問限制,使攻擊者能自由污染宿主環境。
檢查時與使用時差漏洞(CVE-2026-25641)
這是典型的"檢查時與使用時差"(TOCTOU)漏洞,源于庫在驗證屬性鍵與實際使用之間存在時間差。公告解釋:"攻擊者可傳入惡意對象,這些對象在使用時會強制轉換為不同的字符串值",使得安全檢查時看似無害的鍵在實際訪問時轉變為惡意載荷。

安全圈

網羅圈內熱點 專注網絡安全
實時資訊一手掌握!
好看你就分享 有用就點個贊
支持「安全圈」就點個三連吧!
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.