嚴重的拒絕服務漏洞影響多數網絡服務器
安全研究員 Alexander Klink 和 Julian Walde 發現了一個嚴重的漏洞,這個漏洞影響到大多數網絡服務器。針對這個漏洞的攻擊只需要一個 HTTP 請求,這個特殊設定的請求在提交表單數據時造成哈希碰撞。當發現時,這個攻擊影響到 Python、Ruby、PHP、Java 和 ASP.NET,目前廠商正在和研究人員合作發布補丁。
Tomcat 發布了7.0.23和6.0.35兩個版本,通過限制 POST 表單字段數量最大值不超過 10000,來解決這個問題。變更記錄說明這個最大值是可配置的,但沒提供細節。
ASP.NET 的補丁于 12 月 29 日發布。使用默認服務策略的 Windows Azure 客戶會自動更新該補丁。該補丁同樣限制了單個請求中的 POST 表單字段數量,為每個請求 1000 字段,比需要發動拒絕服務攻擊所需的數量小很多。通過 appSetting 鍵值“aspnet:MaxHttpCollectionKeys”可以配置表單字段數量。目前,這個配置只能應用于全網站范圍,但也有針對頁面覆寫這個配置的需求。還修復了一個針對 JSON 輸入和反序列化邏輯的相關缺陷。
PHP 候選發布版5.4.0也提供了 max_input_vars 指令。發布說明沒有提到默認值。
截止目前,我們提到的所有廠商都在網絡服務器端,通過限制單請求的字段數量,解決了這個問題。另一個選擇是采用隨機的字符串哈希公式。Ruby 就是這樣的語言。.NET 也實現同樣的功能,但只限于內部版本。產品發布目前有一個集合公式,但考慮到這個問題的嚴重性,可能會在下一次 CLR 升級的時候有所改變。對于 Java 來說這不是很容易,JVM 規定了字符串的哈希公式,以保證開發人員在所有版本上都可以信賴它。
Oracle Glassfish 的更新據信也已完成,但還沒有發布。也沒有公布解決這個問題方式的任何信息。
更多關于這個問題的信息可以在 Ars Technica 和 Chaos Communication Congress 網站上找到。
查看英文原文:Major Denial of Service Vulnerability Affects Most Web Servers