在最近的Linux和FreeBSD內(nèi)核處理TCP網(wǎng)絡(luò)的方式中發(fā)現(xiàn)的拒絕服務(wù)缺陷可被遠(yuǎn)程攻擊者利用來(lái)觸發(fā)易受攻擊的系統(tǒng)中的內(nèi)核恐慌。
總而言之,Netflix信息安全公司的Jonathan Looney發(fā)現(xiàn)了三個(gè)Linux漏洞,其中兩個(gè)與“最小段大。∕SS)和TCP選擇性確認(rèn)(SACK)功能”相關(guān),而另一個(gè)與MSS相關(guān),其中最嚴(yán)重的一個(gè)名為SACK Panic 可能導(dǎo)致受影響的系統(tǒng)出現(xiàn)緊急情況并重新啟動(dòng)的問(wèn)題。
根據(jù)Red Hat的說(shuō)法,影響內(nèi)核TCP處理子系統(tǒng)的問(wèn)題通過(guò)多個(gè)CVE進(jìn)行跟蹤,CVE-2019-11477 SACK Panic已被指定為7.5 CVSS3基本分?jǐn)?shù)的重要嚴(yán)重程度,而CVE-2019-11478和CVE- 2019-11479被認(rèn)為是中度嚴(yán)重性漏洞。
Netflix的NFLX-2019-001安全建議中已詳細(xì)介紹了補(bǔ)丁程序,并且修補(bǔ)程序也可用于修補(bǔ)程序不是直接或簡(jiǎn)單的選項(xiàng)。
SACK Panic安全漏洞
SACK Panic漏洞(Debian,Red Hat,Ubuntu,Suse,AWS)會(huì)影響Linux內(nèi)核2.6.29及更高版本,并且可以通過(guò)“在具有較小值的TCP MSS的TCP連接上發(fā)送精心設(shè)計(jì)的SACK段序列”來(lái)利用它。這將觸發(fā)整數(shù)溢出。
為了解決這個(gè)問(wèn)題,“應(yīng)用修補(bǔ)程序PATCH_net_1_4.patch(https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_1_4.patch)。此外,Linux內(nèi)核的版本,包括4.14版本需要第二個(gè)修補(bǔ)程序PATCH_net_1a.patch(https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_1a.patch)”,Netflix Information Security的建議說(shuō)。
為了緩解這個(gè)問(wèn)題,用戶和管理員可以完全禁用系統(tǒng)上的SACK處理(通過(guò)將/ proc / sys / net / ipv4 / tcp_sack設(shè)置為0)或使用Netflix信息安全提供的過(guò)濾器阻止與低MSS的連接 - 第二個(gè)緩解措施僅在禁用TCP探測(cè)時(shí)才有效。
更多拒絕服務(wù)的漏洞
另外兩個(gè)漏洞影響所有Linux版本,CVE-2019-11478(被稱為SACK Slowness)可通過(guò)發(fā)送“一個(gè)精心設(shè)計(jì)的SACK序列來(lái)分解TCP重傳隊(duì)列”來(lái)利用,而CVE-2019-11479允許攻擊者觸發(fā)DoS通過(guò)發(fā)送“具有低MSS值的精心制作的數(shù)據(jù)包來(lái)觸發(fā)過(guò)多的資源消耗”來(lái)進(jìn)行狀態(tài)。
CVE-2019-5599是CVE-2019-11478的FreeBSD版本,它使用RACK TCP堆棧影響FreeBSD 12的安裝,并且可以通過(guò)提供“一個(gè)精心設(shè)計(jì)的SACK序列來(lái)破壞RACK發(fā)送映射”。
Linux和FreeBSD管理員和用戶可以通過(guò)應(yīng)用PATCH_net_2_4.patch(https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_2_4.patch)修復(fù)第一個(gè),第二個(gè)可以修復(fù)PATCH_net_3_4.patch(https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_3_4.patch)和PATCH_net_4_4.patch(https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/PATCH_net_4_4.patch)安全補(bǔ)丁?梢酝ㄟ^(guò)應(yīng)用“split_limit.patch(https://github.com/Netflix/security-bulletins/blob/master/advisories/third-party/2019-001/split_limit.patch)并將net.inet.tcp.rack.split_limit sysctl設(shè)置為合理的值來(lái)修補(bǔ)CVE-2019-5599以限制SACK表的大小!
作為解決方法,CVE-2019-11478和CVE-2019-11479都可以通過(guò)使用Netflix信息安全提供的過(guò)濾器阻止具有低MSS的遠(yuǎn)程網(wǎng)絡(luò)連接來(lái)緩解 - 應(yīng)用過(guò)濾器可能隨后破壞低MMS合法連接。只需切換RACK TCP堆棧即可緩解FreeBSD漏洞。
“目前,影響程度僅限于拒絕服務(wù)。目前沒(méi)有特權(quán)升級(jí)或信息泄露,”Red Hat說(shuō)。
“良好的系統(tǒng)和應(yīng)用程序編碼和配置實(shí)踐(將寫(xiě)入緩沖區(qū)限制在必要的級(jí)別,通過(guò)SO_MEMINFO監(jiān)視連接內(nèi)存消耗,以及積極關(guān)閉行為不當(dāng)?shù)倪B接)可以幫助限制攻擊這些類型漏洞的影響,”Netflix信息還指出安全性在其咨詢中。