關閉選單
流行的 JavaScript 庫 expr-eval 存在遠端程式碼執行漏洞

流行的 JavaScript 函式庫expr-eval存在一個嚴重漏洞,該函式庫在 NPM 上的每週下載量超過 80 萬次,攻擊者可以利用該漏洞透過惡意建構的輸入遠端執行程式碼。這個函式庫被廣泛用於解析和評估使用者定義的數學表達式,其龐大的用戶基礎使得此漏洞的潛在影響範圍極廣。

此安全漏洞由安全研究員 Jangwoo Choe 發現,編號為 CVE-2025-12735。根據美國網路安全和基礎設施安全局 (CISA) 的評級,該漏洞的嚴重程度為「嚴重」(Critical),評分為 9.8。如此高的評分代表攻擊者無需複雜的條件或高權限即可利用此漏洞,並可能對受影響系統造成極大破壞,通常包括完全控制伺服器。

CVE-2025-12735 既影響原始的 expr-eval(其穩定版本於 6 年前發布),也影響其目前仍在積極維護的分支expr-eval-fork(該分支在 Node.js 的 NPM 包註冊表中每週下載量超過 80,000 次)。這意味著無論是使用舊版本還是目前活躍分支的開發者,都面臨著重大的安全風險。

卡內基美隆大學軟體工程研究所 (SEI) 的 CERT 協調中心 (CERT-CC) 在周末發布的一份公告中表示,該漏洞是由於庫未能驗證傳遞給 Parser.evaluate() 函數的變數/上下文對象造成的,這使得攻擊者能夠提供惡意函數對象,解析器會在評估期間調用這些函數對象。

Parser.evaluate()在評估表達式時,若傳入的上下文對象包含惡意的建構函式或原型鏈操作,解析器可能在未經充分安全檢查的情況下執行這些惡意代碼,最終導致遠端程式碼執行(RCE)。

expr-eval-fork 版本 3.0.0 中已包含針對 CVE-2025-12735 的安全修復程序,建議受影響的項目盡快切換到該版本。受影響的軟體開發人員建議立即遷移到 expr-eval-fork v3.0.0 並重新發布他們的庫,以便用戶獲得修復程式。

對於所有依賴 expr-eval 的專案,這是一次必須緊急處理的供應鏈安全事件。由於 RCE 漏洞的嚴重性,未能及時修補將使 Web 應用程式面臨來自外部輸入的直接攻擊,危及資料安全和系統完整性。開發團隊必須將此修復工作置於最高優先級,並確保所有下游依賴項也已更新到安全版本。

註:
expr-eval最初由 Matthew Crumley 開發,是一個小型 JavaScript 表達式解析器和求值器,用於需要在運行時安全地解析和計算使用者提供的數學表達式的專案。


資料來源:https://www.bleepingcomputer.com/news/security/popular-javascript-library-expr-eval-vulnerable-to-rce-flaw/
 
分析流行JavaScript函式庫expr-eval中發現的遠端程式碼執行(RCE)嚴重漏洞CVE-2025-12735