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