Tinyproxy 曝出嚴(yán)重漏洞,影響全球52000 臺(tái)主機(jī)
近日,攻擊面管理公司 Censys 分享了一組數(shù)據(jù):截至 2024 年 5 月 3 日,在90310臺(tái)主機(jī)中,有 52000 臺(tái)(約占 57%)運(yùn)行著有漏洞的 Tinyproxy 版本。
這些可能受到漏洞影響的主機(jī)分布于美國(guó)(32846 臺(tái))、韓國(guó)(18358 臺(tái))、中國(guó)(7808 臺(tái))、法國(guó)(5208 臺(tái))和德國(guó)(3680 臺(tái))。
該漏洞是HTTP/HTTPS代理工具中一個(gè)未修補(bǔ)的重要安全漏洞,被追蹤為 CVE-2023-49606,CVSS 得分為 9.8,Cisco Talos 將其描述為一個(gè)影響 1.10.0 和 1.11.1 版本(即最新版本)的免用漏洞。
Talos在上周的一份報(bào)告中提到:攻擊者可通過(guò)精心構(gòu)造的HTTP頭觸發(fā)先前釋放內(nèi)存的重復(fù)使用,導(dǎo)致內(nèi)存破壞且可能導(dǎo)致遠(yuǎn)程代碼執(zhí)行。攻擊者需要發(fā)送未經(jīng)身份驗(yàn)證的HTTP請(qǐng)求以觸發(fā)此漏洞。
換句話說(shuō),未經(jīng)身份驗(yàn)證的威脅行為者可以發(fā)送特制的 HTTP 連接頭,從而引發(fā)內(nèi)存破壞,導(dǎo)致遠(yuǎn)程代碼執(zhí)行。
Tinyproxy 是一個(gè)輕量級(jí)的開(kāi)源 HTTP 代理守護(hù)程序,專注于簡(jiǎn)單性和效率。根據(jù) HTTP 規(guī)范,客戶端提供的標(biāo)頭表示代理在最終 HTTP 請(qǐng)求中必須刪除的 HTTP 標(biāo)頭列表。代理從請(qǐng)求中刪除這些 HTTP 標(biāo)頭,向遠(yuǎn)程服務(wù)器執(zhí)行請(qǐng)求,并將響應(yīng)發(fā)送回客戶端。Tinyproxy 在函數(shù)中正是這樣做的:
首先,我們應(yīng)該注意到客戶端發(fā)送的 HTTP 標(biāo)頭駐留在鍵值存儲(chǔ)中。該代碼搜索 和 標(biāo)頭,并在 (1) 處獲取它們的值,如前所述,這是一系列要?jiǎng)h除的 HTTP 標(biāo)頭??蛻舳肆谐龅拿總€(gè) HTTP 標(biāo)頭在 (3) 處被刪除。從本質(zhì)上講,和 標(biāo)頭值中的每個(gè) HTTP 標(biāo)頭都用作從 中刪除的鍵。最后,在 (4) 處,HTTP 標(biāo)頭本身被刪除。
在函數(shù)中,我們看到:
對(duì)于具體提供的,其哈希值計(jì)算為 (5)。使用哈希值,在 (6) 處檢索并釋放鍵值的指針。最后,鍵本身從(7)的哈希圖中刪除。
現(xiàn)在考慮一下當(dāng)客戶端發(fā)送 HTTP 標(biāo)頭時(shí)會(huì)發(fā)生什么。出于演示目的,我們將它們區(qū)分為。在 (1) 處檢索標(biāo)頭的值,這當(dāng)然是 。在 (3) 處,該值用作 處的變量。在(5)處計(jì)算字符串的哈希值,與完全相同。請(qǐng)注意,哈希值也不區(qū)分大小寫(xiě)。在 (6) 處,哈希用于檢索和釋放 HTTP 標(biāo)頭值的指針,即 。因此,此時(shí)代碼已釋放了 的內(nèi)存。在 (7) 處,現(xiàn)在包含過(guò)時(shí)指針的變量被重用,從而導(dǎo)致釋放后使用方案。
很明顯,此漏洞可用于執(zhí)行內(nèi)存損壞并獲得代碼執(zhí)行權(quán)限。
去年 12 月 22 日,塔洛斯公司報(bào)告了這一漏洞,并發(fā)布了該漏洞的概念驗(yàn)證(PoC),描述了如何利用解析 HTTP 連接的問(wèn)題來(lái)觸發(fā)崩潰,并在某些情況下執(zhí)行代碼。
Tinyproxy 的維護(hù)者在上周末提交的一組文件中,指責(zé) Talos 將報(bào)告發(fā)送到了一個(gè)已經(jīng)不再使用的電子郵件地址,并補(bǔ)充說(shuō)他們是在 2024 年 5 月 5 日被 Debian Tinyproxy 軟件包維護(hù)者發(fā)現(xiàn)的。
rofl0r 提到:沒(méi)有人在 GitHub 上提交問(wèn)題,也沒(méi)有人在提及的 IRC 聊天中提到漏洞。如果在 Github 或 IRC 上報(bào)告了該問(wèn)題,該漏洞會(huì)在一天內(nèi)得到修復(fù)。該公司建議用戶在最新版本發(fā)布后及時(shí)更新。