Linux核心中存在發送UDP封包導致崩潰的漏洞

在Linux核心中 已確定 漏洞(CVE-2019,11683),它允許您透過發送專門設計的 UDP 資料包(死亡資料包)來遠端導致拒絕服務。 這個問題是由實作 GRO(通用接收卸載)技術的 udp_gro_receive_segment 處理程序 (net/ipv4/udp_offload.c) 中的錯誤引起的,在處理零填充的 UDP 封包時可能會導致核心記憶體區域內容損壞(空有效負載)。

該問題僅影響內核 5.0因為 GRO 對 UDP 套接字的支援是 實施的 去年 XNUMX 月,只成功進入最新的穩定核心版本。 GRO 技術可讓您透過將多個資料包聚合成更大的區塊來加速大量傳入資料包的處理,而無需單獨處理每個資料包。
對於 TCP,不會出現此問題,因為該協定不支援無負載的資料包聚合。

到目前為止,該漏洞僅以以下形式修復: 修補,修正更新尚未發布(昨天更新5.0.11修復 不包含)。 從分發包中,核心 5.0 成功地包含在 Fedora 30, Ubuntu的19.04, Arch Linux, Gentoo的 以及其他不斷更新的發行版。 Debian, Ubuntu 18.10 及更早版本, RHEL/CentOS и SUSE/開放SUSE 問題不影響。

結果發現問題 使用 Google 建立的自動模糊測試系統 西茲機器人 和分析儀 卡桑 (KernelAddressSanitizer),旨在識別使用記憶體時的錯誤以及不正確的記憶體存取事實,例如存取已釋放的記憶體區域以及將程式碼放置在不適合此類操作的記憶體區域中。

來源: opennet.ru

添加評論