摘要
微軟於 2026 年 8 月發佈的 .NET Framework 累積更新 KB5120710,在部分使用 WPF(Windows Presentation Foundation)技術的桌面程式中,會導致列印或產生 PDF/XPS 檔案失敗,錯誤訊息多為 System.IO.FileFormatException。目前唯一的緩解方式是於應用程式設定檔加入特定參數,暫時關閉本次更新所加入的安全保護,但此舉亦可能使系統重新暴露於已修補的安全漏洞。
背景說明
WPF 為微軟提供的 UI 框架,主要用於開發 Windows 桌面應用程式的視覺介面與排版功能。8 月 11 日,微軟針對 Windows 11 24H2(同時支援 .NET Framework 3.5 與 4.8.1)推出 KB5120710,除了解決多項權限提升、遠端程式碼執行與資訊洩漏等安全弱點外,亦加入了新一層字型處理的安全保護機制。
受影響範圍與影響
根據微軟與外媒 BleepingComputer 的資訊,受影響的並非僅限 Windows 11 24H2,還包括 Windows 10、其他 Windows 11 版本以及 Windows Server 2012 至 2025。
- 受影響程式:僅限在列印或產生 PDF、XPS 時使用特定字型(目前已確認的例子為 Calibri)的 WPF 應用程式。
- 錯誤表現:執行列印或匯出時拋出 System.IO.FileFormatException,導致文件無法產生或列印失敗。
- 影響程度:並非所有 WPF 程式皆受波及,僅在字型處理流程觸發新安全保護時才會出現問題。
暫時因應措施
微軟提供的臨時解法是於應用程式的 app.config 或 web.config 中加入下列參數,以停用本次更新所帶來的字型安全檢查:
<runtime>
<AppContextSwitchOverrides value="Switch.System.Windows.Media.DisableFontSecurity=true"/>
</runtime>
此設定可讓受影響的程式恢復正常列印與 PDF/XPS 輸出,但同時也會使系統重新暴露於 KB5120710 所修補的安全漏洞。因此,微軟建議僅在確實遇到問題且無法立即部署其他方案時,才採用此方式,並盡快關注後續正式修補程式的發布。
未來展望
微軟已表示正在持續調查此字型相容性問題,並將於未來的累積更新中提供永久修正。開發者在此期間應:
-
先行測試自家 WPF 應用程式是否受 Calibri 或其他自訂字型影響。
-
若必須使用上述臨時參數,務必在部署後加強系統的其他防護措施(例如更新防毒軟體、限制網路存取)。
-
關注微軟安全公告,盡早升級至包含正式修正的更新版。
總結來說,此次 KB5120710 雖提升了 .NET Framework 的整體安全性,卻因字型保護機制的變更,意外影響了部分 WPF 應用程式的列印與文件輸出功能。開發者與企業 IT 必須在安全與功能之間取得平衡,並密切追蹤微軟的後續修補動態。