HAProxy是一個受歡迎的開源負載均衡器和代理服務器,目前披露了一個嚴重的安全漏洞,該漏洞可能被攻擊者濫用,可能會走私HTTP請求,導致未經授權的訪問敏感數據和執行任意命令,進行一系列攻擊。
該整數溢出漏洞在CVSS評分系統上的嚴重級別為8.6,已在HAProxy 2.0.25、2.2.17、2.3.14和2.4.4版本中修復。
HTTP請求走私,顧名思義,是一種web應用程序攻擊,篡改網站處理從多個用戶收到的HTTP請求序列的方式。這種技術也稱為HTTP去同步,它利用了對前端服務器和后端服務器處理發送方請求方式不一致的解析。
前端服務器通常是負載均衡器或反向代理,網站使用它們來管理通過單個連接的入站 HTTP請求鏈,并將它們轉發到一個或多個后端服務器。因此,在兩端正確處理請求至關重要,這樣服務器才能確定一個請求在哪里結束,下一個請求從哪里開始,處理請求失敗可能導致附加到一個請求的惡意內容被添加到下一個請求的開始的場景中。
換句話說,由于前端和后端服務器如何使用Content-Length和Transfer-Encoding標頭計算每個請求的開始和結束所產生的問題,導致惡意HTTP請求的結束計算錯誤,將惡意內容置于鏈中下一個入站請求的開頭,而不被服務器處理。
JFrog安全公司的研究人員在一份報告中說:“這次攻擊是利用了一個整數溢出漏洞,該漏洞允許在HAProxy解析HTTP請求時達到一個意想不到的狀態,特別是在處理內容長度頭的邏輯中。”值得一提的是,在軟件開發過程中通過靜態代碼檢測可以有效降低安全漏洞數,加強抗攻擊能力。
在潛在的實際攻擊場景中,該漏洞可用于觸發HTTP請求偷襲攻擊,目的是繞過HAProxy定義的ACL(又名訪問控制列表)規則,該規則允許用戶定義自定義規則來阻止惡意請求。
在披露之后,HAProxy 通過添加名稱和值長度的大小檢查來修復該弱點。“作為一種緩解措施,只要驗證任何消息中不超過一個這樣的[content-length]標頭就足夠了,”HAProxy 的創建者和首席開發人員Willy Tarreau在9月3日推送的GitHub提交中指出。
對于無法升級到上述版本的客戶,建議將以下代碼片段添加到代理的配置中,以減少攻擊:
Http-request request if {req.hdr_cnt(content-length) gt 1}
Http-response deny if {res.hdr_cnt(content-length) gt 1}
安全漏洞為網絡系統遭到攻擊提供了廣泛的攻擊面,尤其隨著軟件的使用滲透到生活的方方面面,發動一次網絡攻擊造成的影響將不可估計。減少安全漏洞提高軟件安全,已經成為殺毒軟件、防火墻等傳統防御手段之外的網絡安全重要防護方式。尤其在OWASP TOP 10安全漏洞中,60-70%的安全漏洞類型均可通過源代碼靜態分析技術檢測出來,因此在軟件開發期間,不斷用靜態代碼檢測工具查找代碼缺陷及安全漏洞,提高代碼質量,可以有效降低企業遭到網絡攻擊的風險。
5G時代,網絡安全威脅無處不在,殺病毒、防火墻、入侵檢測的傳統”老三樣“難以應對不斷進化的網絡攻擊,在軟件開發階段實時檢測、修復代碼漏洞,提升軟件本身的安全屬性,降低網絡安全風險,已經成為國際共識。Wukong(悟空)靜態代碼檢測工具,從源碼開始,為您的軟件安全保駕護航!
參讀鏈接:
www.woocoom.com/b021.html?i…
thehackernews.com/2021/09/hap…