Microsoft 日前發出保安建議, Windows 上所附有的 Web 伺服器 Internet Information Services ( IIS ),在處理 HTTP/2 請求時出現問題,當收到不當的 HTTP/2 請求時,會導致 CPU 負荷急升至 100% 的情況,直至 IIS 殺掉有問題的連結後才能復原。
本來 HTTP/2 規範裡容許客戶端在請求時將任意數量的 SETTINGS 參數指定到任意數量的 SETTINGS 幀,而在特定情況下,過多的設定參數可能會導到 CPU 突然 100% 負荷,要等到連線逾時才會恢過來。
這問題不單影響到 Windows Server 和 Windows Server 2016 這些伺服器版本的 Windows 連 Windows 10 多個更新版本、無論 32-bit 還是 ARM64 或 x64 版本都遭殃。 Microsoft 就推出了一個「非保安」更新( non-security update ),給 HTTP/2 SETTINGS 加了個上限值,而且網管都必須要設定這個值。
Microsoft 呼籲受影響 Windows 用戶都應該更新 2 月份的非保安更新。