德國軟體開發工程師hanno böck指出,andreas bogk曾在2023年從pdf剖析庫中發明的乙個輪迴bug至今仍影響以後多半支流pdf檢查器。
這個輪迴 bug影響文件檢查器app evince中包括的pdf剖析器元件。bogk曾贊助evince修復這個破綻並將研究成果宣布在2011 chaos communication camp上。
bogk發明帶有某種布局的pdf文件即pdf檔案的cross reference table(xref表)能招致evince app進入乙個持續輪迴,從而占用一切的當地cpu資本並疾速耗盡記憶體招致evince app瓦解。
這個bug根本上被人們疏忽了,由於它從未被堪稱重大的平安成績並且僅影響僅安裝在linux桌面的乙個小型app。
重現於風行pdf檢查器app中
六年以後,發明這個成績存在於大批聞名pdf檢查器中,因而就變成為了乙個大成績。
比方,böck在pdfium庫中發明了"loop"bug。而pdfium庫能讓chrome在不需要任何外掛程式的情況下在閱讀器內剖析pdf文件。
在firefox中有著相似功效的pdf.js庫也受影響。github**上也用到了pdf.js,用於在**介面外部剖析pdf文件,而無需使用者**檔案或是在第三方app中檢查。github的這類閱讀pdf檔案的完成方法也易受無窮輪迴成績的影響,從而中止pdf在github上的剖析。
winrt pdf也受影響。它是edge閱讀器的內建pdf檢查器,同時也是windows 8及以後一切版本的默許pdf檢查器app即windows 「reader app」的默許pdf剖析器。
異樣,開源pdf剖析器如ghostscript和qpdf也受影響,也就是說這個成績能夠曾經分散到了許多其餘安排了這兩個項目標web和桌面pdf檢查器app中。
böck將這個老舊成績告訴一切受影響的產物廠商,後者正在籌備推出補釘。
adobe閱讀器不受影響
adobe閱讀器和蘋果的os x內建pdf檢查器app並不受影響。
böck指出,他經由過程應用乙個隱約測試庫闡發每乙個項目標方法發明了這個成績。隱約測試是一種根本的平安測試技巧,可處理大批隨機輸入資料,從而闡發某個法式的輸入相應能否存在非常。google的平安專家們是隱約測試的狂熱愛好者,他們向每乙個願意聽取本身倡議的人都保舉了隱約測試技巧。
böck責備受影響項目標管理員未運轉進級的測試套件。測試套件即有成績檔案的聚集,pdf閱讀器都應當在不瓦解的情況下關上這些檔案。在抱負情況下,軟體開發工程師不應當在不經由過程測試套件的情況下宣布app新版本;böck倡議pdf app將bogk的輪迴bug演示檔案新增到他們的測試案例中。
寫給六年前自己的一封信
sword s man 你好嗎?有好久沒有見到你了,不知道你過得怎麼樣,你那方應該是2000年吧!時間過得真快一轉眼就這麼多年了。想當初你還是乙個天真 純潔的小男孩。剛剛從九中畢業的你因成績不好,讀了職中,就盲目地選擇了計算機這個專業。你對神秘的computer有著無限熱情的嚮往,剛一開始你就買 軟...
六年前學習的C語言,重新學習的總結
在vs2010下正常編譯所需的配置 int main int argc const char argv printf hello return 0 正常無錯誤時,走到此處返回0,出現錯誤時,不返回0 的部分 d 為標準輸出數字,f開頭的,一般為輸出檔案,puts只可以輸出字串,不像printf可以輸...
七年前的Google
七年前的google什麼樣?你一定要看看 google剛滿七周歲,但儼然已經是乙個巨人了,當 sergey brin 和 larry page 七年前在後院車庫裡建立google的時候肯定沒想到他們正在創造 it 界的又乙個神話。來看看google當年起家時的家當 google的後台伺服器,300m...