CVE-2018-5390:Linux內核暴SegmentSmack漏洞可導致遠程DoS攻擊

CVE-2018-5390:Linux內核暴SegmentSmack漏洞可導致遠程DoS攻擊

在Linux內核處理特定TCP數據包的方式中發現了一個名為SegmentSmack的漏洞。遠程攻擊者可以利用這一缺陷通過TCP請求觸發耗時耗CPU的tcp_collapse_ofo_queue() 和tcp_prune_ofo_queue()系統調用,可能導致CPU跑滿。維持拒絕服務條件需要連續的雙向TCP會話到可達的開放端口,因此無法使用欺騙的IP地址執行攻擊。

概述

在Linux內核處理特製TCP數據包的方式中發現了一個名為SegmentSmack的漏洞。遠程攻擊者可以利用這一缺陷觸發耗時大量計算的tcp_collapse_ofo_queue()和tcp_prune_ofo_queue()調用使得CPU耗盡。該漏洞無需傳入大量網絡流量就可以導致系統CPU耗盡從而造成Dos攻擊。在最壞的情況下,攻擊者可使小於2 kpps攻擊流量的對攻擊主機產生影響主機和停頓。

漏洞詳情

Juha-Matti Tilli發佈的一封電子郵件消息報告了Linux內核中另一個與安全相關的問題。 CVE-2018-5390諮詢是一個新發布的安全公告,其中提供了有關Linux內核漏洞的詳細信息。該文檔顯示4.9+版本可能受特定服務條件的影響,這些條件可能導致DOS(拒絕服務)攻擊。問題的確切性質與用戶對行為的修改有關。可以強制內核為每個傳入的數據包調用兩個函數:

tcp_collapse_ofo_queue(),只要接收隊列的內存配額已滿,此例程就會釋放無序隊列,以便為到達的數據段騰出空間。這用於緩衝控制。

CVE-2018-5390:Linux內核暴SegmentSmack漏洞可導致遠程DoS攻擊

tcp_prune_ofo_queue(),這是網絡數據包的修剪功能。它在隊列操作期間使用。

CVE-2018-5390:Linux內核暴SegmentSmack漏洞可導致遠程DoS攻擊

每個傳入的數據包都可以修改為通過這兩個函數。這可能導致行為模式導致拒絕服務的可能性。攻擊者可以通過在正在進行的TCP網絡會話中發送修改的數據包來誘導此類情況。分析表明,維護此狀態需要通過目標計算機上的可訪問開放端口進行連續的雙向TCP會話。這意味著攻擊只能通過真實IP地址執行,不能使用欺騙地址。

遠程攻擊者能夠針對具有可用開放端口的系統觸發拒絕服務條件。

因為維持拒絕服務條件需要連續的雙向TCP會話到可達的開放端口,因此無法使用欺騙的IP地址執行攻擊。

如下圖使用4 TCP流進行攻擊的結果就可以使得4 CPU內核的完全飽和以及導致網絡數據包處理的延遲:

CVE-2018-5390:Linux內核暴SegmentSmack漏洞可導致遠程DoS攻擊

受影響的產品

由於SegmentSmack攻擊基於Linux內核網絡堆棧中使用的算法,紅帽官方文檔指出對其產品具有中等新Linux內核版本產品都會受到影響:

· Red Hat Enterprise Linux 6

· Red Hat Enterprise Linux 7

· Red Hat Enterprise Linux 7 for Real Time

· Red Hat Enterprise Linux 7 for ARM64

· Red Hat Enterprise Linux 7 for Power

· Red Hat Enterprise Linux Atomic Host

其他廠商,請查詢對應廠商的漏洞說明。

解決

目前還不知道除了固定內核之外沒有有效的解決方法/緩解措施。 linux內核團隊已經對該漏洞發佈了代碼補丁的commit

CVE-2018-5390:Linux內核暴SegmentSmack漏洞可導致遠程DoS攻擊

在撰寫本文時,設備供應商尚未發佈任何補丁。準備好後,將向最終用戶和設備所有者發佈相應的公告和更新。可以使用補丁系列,它通過將cpu週期限制到某個限制來實現對問題的修復,最終使得錯誤非關鍵。在未來,開發人員可能會繼續進行進一步的修復,例如斷開連接或黑洞驗證的惡意流。

致謝

Red Hat感謝來自阿爾託大學,通信與網絡部和諾基亞貝爾實驗室的Juha-Matti Tilli報告此漏洞。


分享到:


相關文章: