CSSA 獨家預警9.8 超危
QuickJS引擎通過處理畸形字節碼觸發越界寫入導致堆內存破壞與服務中斷
漏洞源於字節碼反序列化函數在解析閉包變量計數字段時存在符號擴展處理缺陷,攻擊者可構造惡意序列化的字節碼輸入觸發有符號整型溢出,導致後續內存分配計算結果異常縮小。當宿主環境調用公開的反序列化接口讀取該畸形數據後,底層堆內存分配器將按錯誤尺寸申請過小空間,隨後在填充函數頭結構與執行內存拷貝操作時發生越界寫入行為。該缺陷具備網絡可達性特徵且無需身份認證即可利用,成功觸發後將直接破壞進程堆內存佈局,造成目標服務崩潰或潛在的控制權劫持風險。
組件
QuickJS是一款輕量級且可嵌入的JavaScript引擎,其架構採用單文件設計並遵循ECMAScript規範,核心功能涵蓋字節碼編譯、即時執行與對象序列化反序列化。該組件通過提供標準化的API接口集成至各類宿主環境中,旨在實現腳本解析、沙箱隔離及動態代碼執行,廣泛應用於網絡爬蟲、自動化測試與嵌入…
類型
Out-of-bounds Write (CWE-787)
倉庫
github.com/bellard/quickjs · Star 10915
處置建議
- 建議開發人員在解析外部數據結構時嚴格實施邊界校驗機制,對長度與計數字段採用無符號類型統一處理,並在執行內存分配運算前增加溢出檢測邏輯。同時應引入安全的整數轉換函數替代隱式類型強制轉換,確保分配請求值與實際寫入需求保持一致,從根本上阻斷因算術迴繞引發的越界訪問隱患。


