這是一個非常典型的現代瀏覽器安全性漏洞案例,名為 HermeticReader(CVE-2026-48294)。這個漏洞之所以危險,是因為它利用了瀏覽器擴充功能(Extension)的高權限,將原本被嚴格隔離的網站數據,在使用者毫不知情的情況下「偷」出來。
對於 Junior 工程師來說,要理解這個攻擊路徑,必須先理解瀏覽器最核心的安全機制:同源政策(Same-Origin Policy, SOP)。簡單來說,SOP 規定 A 網站的腳本不能讀取 B 網站的內容,否則任何一個惡意網站只要你開著,就能隨意讀取你的銀行帳戶或私訊。
然而,瀏覽器擴充功能為了提供功能(例如 Adobe Acrobat 用來處理 PDF),通常擁有比一般網頁更高的權限,能夠跨越不同網站進行操作。這次的漏洞就屬於通用跨站腳本攻擊(Universal Cross-Site Scripting, UXSS),這類漏洞能讓攻擊者利用擴充功能的漏洞,強行打破 SOP 的限制,讓惡意網頁獲得讀取其他網站(如 WhatsApp Web)數據的能力。
攻擊的實作流程
這次的攻擊不需要使用者下載惡意軟體,也不需要盜取 Cookie,只需要使用者在安裝了受影響版本 Adobe 擴充功能的情況下,訪問一個由攻擊者控制的惡意網頁。
第一步是激活隱藏引擎。惡意網頁會載入擴充功能內建的一個 iframe 元素。這個 iframe 會發送指令,啟動擴充功能中一個名為 Hermes 的引擎(該引擎是用於處理 WhatsApp 整合功能的)。
第二步是定位目標。攻擊者會在背景開啟一個 WhatsApp Web 的分頁,並透過擴充功能的權限獲取該分頁的 ID。
第三步是數據竊取。這是最巧妙的部分。攻擊者並非直接讀取文字,而是在 WhatsApp 的 DOM(文件物件模型,即網頁的結構)中注入一個 POST 表單。
這裡利用了 HTML 規範中的兩個冷門特性。首先,如果一個 option 標籤沒有設定 value 屬性,瀏覽器在提交表單時會將其內部的所有文字內容作為值傳送。攻擊者將 WhatsApp 整個網頁的 body(主體內容)放入這個 option 中,導致整個聊天畫面變成了表單的一個欄位值。
其次,WhatsApp Web 的內容安全政策(Content Security Policy, CSP)當時缺乏 form-action 指令。CSP 是用來告訴瀏覽器哪些外部域名可以接收數據的防禦機制。因為缺少這個限制,瀏覽器允許該表單將數據 POST 到攻擊者的伺服器。
最終結果
當使用者訪問惡意網頁的瞬間,後台就完成了一連串動作:激活引擎、注入表單、將 WhatsApp 畫面打包、發送到攻擊者伺服器。攻擊者能直接拿到包括聯絡人名稱、聊天列表以及目前開啟的對話內容在內的完整文字資訊。
這類漏洞提醒我們,即使是知名廠商的擴充功能,只要其權限過高且內部邏輯存在漏洞,就可能成為繞過瀏覽器安全防線的跳板。對於開發者而言,嚴格定義 CSP 政策以及最小化擴充功能的權限範圍,是防止此類跨站數據洩露的關鍵。
來源:thehackernews.com
本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。