嚴重程度:
漏洞由於Windows協議驅動/en-us/library/cc731903(v=ws.10).aspx
3.趨勢科技 服務器深度安全防護系統(Deep Security) 用戶, 請更新規則到DSRU-1006620或更新, 以阻止針對該漏洞的攻擊。
更多信息:
http.sys& Range Header
http.sys是為Windows系統提供http協議基礎服務的驅動。它監聽來自網絡的http請求,並將這些請求傳遞給IIS處理,處理完成後,再將結果返回給客戶端。它負責提供內核級別的緩沖、請求隊列、請求預處理以及安全方面的過濾。內核緩沖(Kernel-caching)功能也正是存在漏洞的部分。
Range頭用來在http請求中指定返回壹部分資源。例如Range: bytes=500-999
漏洞成因
http.sys中的UlpParseRange沒有對http請求中Range頭的數值大小做合理限制,導致存在整數溢出的可能,當輸入為18446744073709551615即十六進制的0xFFFFFFFFFFFFFFFF時,以下代碼造成整數溢出
而在函數UlAdjustRangesToContentSize中,會對Range的長度進行合法性檢查,若Range.Length + Range.Start大於HTTP請求文件的真實大小, Range.Lenth將會被修正為正確的合法長度。 如過上述代碼片段造成Range.Length+Range.Start溢出,變成壹個較小的值,從而可以繞過這段修正代碼。而其他代碼會直接引用這個超大數值,造成崩潰。
漏洞測試
用相關驗證性代碼對安裝有IIS7的Windows 7 32bit系統進行測試,在發送數據包之後,目標系統崩潰。
其他信息
該漏洞如果成功利用還可能導致內存信息泄露甚者執行任意代碼。
國外某地下交易網站日前新增針對該漏洞的利用,據稱可以達到遠程代碼執行。