📢 Gate廣場 #创作者活动第一期# 火熱開啓,助力 PUMP 公募上線!
Solana 爆火項目 Pump.Fun($PUMP)現已登入 Gate 平台開啓公開發售!
參與 Gate廣場創作者活動,釋放內容力量,贏取獎勵!
📅 活動時間:7月11日 18:00 - 7月15日 22:00(UTC+8)
🎁 活動總獎池:$500 USDT 等值代幣獎勵
✅ 活動一:創作廣場貼文,贏取優質內容獎勵
📅 活動時間:2025年7月12日 22:00 - 7月15日 22:00(UTC+8)
📌 參與方式:在 Gate 廣場發布與 PUMP 項目相關的原創貼文
內容不少於 100 字
必須帶上話題標籤: #创作者活动第一期# #PumpFun#
🏆 獎勵設置:
一等獎(1名):$100
二等獎(2名):$50
三等獎(10名):$10
📋 評選維度:Gate平台相關性、內容質量、互動量(點讚+評論)等綜合指標;參與認購的截圖的截圖、經驗分享優先;
✅ 活動二:發推同步傳播,贏傳播力獎勵
📌 參與方式:在 X(推特)上發布與 PUMP 項目相關內容
內容不少於 100 字
使用標籤: #PumpFun # Gate
發布後填寫登記表登記回鏈 👉 https://www.gate.com/questionnaire/6874
🏆 獎勵設置:傳播影響力前 10 名用戶,瓜分 $2
V8引擎Sentinel值泄露漏洞:Chrome沙箱逃逸新方法分析
探討Chrome V8引擎中Sentinel Value的安全隱患
Sentinel value是算法中的一個特殊值,通常在循環或遞歸算法中作爲終止條件存在。Chrome源碼中有很多Sentinel value。近期研究表明,通過泄露特定Sentinel value對象可能導致Chrome沙箱內任意代碼執行。
本文將討論一個新的Sentinel value對象:Uninitialized Oddball。這種繞過方法最早出現在某漏洞報告中,由安全研究人員給出完整代碼。值得注意的是,目前該方法仍可用於最新版V8,尚未得到修復。
該方法具有較強通用性:
在某CVE漏洞中,最初的poc就是泄露internal uninitialized oddball。
另一個CVE漏洞報告中,研究人員直接泄露UninitializedOddball,雖然當時利用鏈不完整,但已顯示出安全隱患。
在最近的一個漏洞報告中給出了完整利用方法。
這些案例說明了該問題的普遍性和嚴重性。截至目前,某通訊軟件尚未修復該漏洞。
Sentinel value在V8中的應用
V8源碼中定義了大量原生對象,它們在內存中依次相鄰排布。一旦將不應泄露的原生對象暴露給JavaScript,就可能實現沙箱內任意代碼執行。
爲驗證該方法在最新V8中的有效性,我們可以修改V8的native函數,將Uninitialized Oddball泄露到JavaScript中。
繞過HardenType保護
我們可以構造代碼,當某函數返回UninitializedOddball時,實現相對任意讀取。分析優化後的匯編代碼可以發現,函數只檢查了對象的屬性是否正確,但沒有檢查屬性對應的值,直接按JavaScript語義計算偏移獲取數組元素,從而造成類型混淆,實現任意讀取。
同理,任意寫入也可以通過類似方法構造。建議在優化函數返回數組元素時,增加對數組map的檢查,避免直接計算偏移返回值。
安全隱患提醒
分析表明,某通訊軟件目前仍未修復該漏洞。在x86系統下,由於缺少地址壓縮,任意讀寫直接相對於整個進程。雖然開啓了ASLR,但由於文件較大,仍有較大概率讀寫到關鍵內容。結合PE解析等方法,可能在短時間內完成完整利用鏈。
這次安全隱患不僅涉及單個漏洞,還導致了之前一些類似漏洞利用難度大幅降低。黑客幾乎不需要額外研究即可實現完整利用,包括之前報告的所有類似漏洞。
總結
本文簡要討論了通過泄露Uninitialized Oddball實現任意讀取的方法。V8中還有很多其他Sentinel value,可能存在類似安全隱患。這給我們一些啓示:
其他Sentinel value泄露是否也可能導致V8沙箱逃逸?
此類問題是否應被正式視爲安全漏洞?
是否有必要在fuzz測試中加入Sentinel value相關變量,以發現更多潛在問題?
無論如何,這類問題都可能大大縮短黑客實現完整利用的週期,值得高度重視。