受影響系統: Microsoft Java VM (Build 2000/3000/3100 系列),包含 Internet Explorer 4.x 及 5.x。
風險等級: 高危。攻擊者可透過精心製作的網頁,在使用者不知情下竊讀本機敏感檔案。
微軟 JVM 存在安全檢查缺失,允許 Java Applet 利用 ClassLoader.getSystemResourceAsStream(filename) 讀取「已知路徑」下的任意檔案。所謂「已知路徑」取決於 IE 版本與系統配置:
C:\ 根目錄下所有檔案(Windows NT 除外,限制於使用者 Profile 目錄)。C:\Windows\Desktop。AUTOEXEC.BAT 設定了 CLASSPATH 環境變數,則該路徑下檔案亦可被讀取。限制: 僅能「讀取」,無法修改、刪除或執行本地檔案。
InputStream is = ClassLoader.getSystemResourceAsStream(filename);
這行代碼即可讀取使用者機器上的檔案內容,並可透過網路傳回攻擊者伺服器,或夾帶在郵件中寄出。公開測試頁面:測試連結。
微軟已釋出對應版本修補程式,請立即下載安裝:
此漏洞凸顯早期瀏覽器內建 JVM 的架構缺陷。現代開發應避免依賴 Applet 技術,改用標準化、沙箱機制完善的 Web 技術棧。企業環境建議集中部署修補程式,並透過群組原則統一封鎖舊版 Java 元件。