| CVE編號 | CVE-2018-3924,CVE-2018-3939 |
|---|---|
| 影響產品 | PhantomPDF 9.1.0.5096以前版本 /Reader 9.1.0.5096以前版本 |
| 解決辦法 | (1)從軟體Help頁籤操作「檢查更新」,取得PhantomPDF 9.2、Reader 9.2。 (2)參考https://www.foxitsoftware.com/downloads/#Foxit-Reader、https://www.foxitsoftware.com/downloads/#Foxit-PhantomPDF-Business ,下載PhantomPDF 9.2或Reader 9.2。 |
| 張貼日 | 2018-07-25 |
| 上稿單位 | TWCERT/CC |
●概述:
福昕軟體公司研發數款PDF閱讀工具,其特色在體積小、速度快,經測試後,公開桌機Windows平台之PhantomPDF、Reader版本漏洞狀況,不當重複使用已釋放buffer之物件指標將導致當機;而開啟PDF時解析轉換JPG格式及執行GetAssociatedPageIndex()函數時,皆觸發越界存取記憶體;呼叫addAdLayer()及函數解析ColorSpace元件有機會衍生類型混淆;匯出資料功能之JavaScript未過濾檔案型態,導致任意檔案寫入事件;而濫用大量緩衝區配置將耗損資源而crash,上述漏洞伴隨特定函數及參數運用時發生,故使用Foxit軟體,出現remote code execution機率頗高,亦有機會洩漏系統資訊,Foxit就相關版本軟體進行升級並公告。
●編註:
(1)Use-After-Free
在數種條件下,操作過程觸發程式本身邏輯錯誤,對於已經關閉或釋放緩衝區之物件、指標、檔案,不當重複使用,可能導致當機。
(2)記憶體邊界管理不當
(2-1)開啟PDF檔案時,若包含JPG圖形格式,則呼叫特定函數,以解析轉換JPG,然而過程中違背指標存取規則,攻擊者能藉此觸發Out-of-Bounds Read/Write事件,將造成RCE或資訊外洩。
(2-2)當Foxit Reader執行GetAssociatedPageIndex()函數時,因程序控制具瑕疵,發生越界讀取記憶體事件,衍生訊息外洩或任意代碼執行。
(3)type confusion
類型混淆在兩種情況下遭觸發,程式呼叫addAdLayer()函數時,函數內特定物件已被置換;另外在解析PDF檔內ColorSpace元件時,ICCBased被替換成Pattern色彩空間,這兩類錯誤皆能導致Remote Code Execution。
(4)破壞資料完整性
Foxit Reader匯出各式資料時,透過exportAsFDF 或exportData 任一JavaScript執行,然囿於未檢查檔案型態,造成資料寫入,破壞其完整性。
(5) crash
程式碼內某行撰寫為var test = new ArrayBuffer(0xfffffffe),讓JavaScript運作時配置大量緩衝區,遠端用戶可探勘此特性,造成資源耗損而當機。
