裝置指紋與詐騙偵測資安公司Fingerprint揭露,所有Firefox系瀏覽器都受到同一IndexedDB隱私漏洞影響。問題發生在IndexedDB資料庫清單查詢功能的回傳順序,網站可藉此推導出一個穩定且可重現的瀏覽器程序識別值,在沒有Cookie或其他共用儲存機制的情況下,辨識是否為同一個執行中的瀏覽器實體。該隱私漏洞不僅影響一般Firefox系瀏覽器,也波及Tor Browser原本主打的隱私隔離設計。
研究人員解釋,列出IndexedDB資料庫資訊的API所回傳的資料庫清單順序,意外把瀏覽器內部儲存結構的排列差異暴露成可被觀察的指紋訊號。網站只要建立一組固定名稱的IndexedDB資料庫,再呼叫該API查看回傳順序,就可能得到在同一個瀏覽器程序存續期間內維持一致的排列結果。由於該結果屬於程序層級,而非單一來源層級,不同網站便可能各自觀察到同一組識別特徵。
在Firefox私密瀏覽模式下,即使使用者關閉所有私密視窗,只要Firefox程序仍未完全結束,該識別訊號就可能持續存在,讓網站在看似全新的私密工作階段中再次辨識同一名使用者。對Tor Browser影響更為敏感,因為其New Identity功能原本是為了切斷前後活動的可連結性,但這項漏洞代表在同一程序尚未重啟前,網站仍可能把不同階段的活動串接起來。
由於Firefox私密瀏覽模式下會把網站提供的資料庫名稱映射為UUID,並存放在跨來源共用的全域雜湊表中,之後當整理資料庫清單時,又未先做排序,而是直接依內部雜湊結構的迭代順序回傳結果。研究人員認為,正是這個看似無害的內部行為,讓回傳順序成為可被利用的穩定指紋。要是網站控制16個資料庫名稱,理論上可形成約44 bits的識別空間,足以成為高辨識度訊號。
Mozilla針對此漏洞釋出修補,Firefox 150與ESR 140.10.0已納入修正。修正方式是讓API回傳結果改以固定順序排序,避免內部儲存結構的排列差異繼續外露成隱私風險。由於問題根源來自Gecko的IndexedDB實作,其他下游採用相同核心的產品要是未額外處理,皆可能受到相同影響。