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