Ubuntu 20.04 LTS:Linux kernel (OEM) 弱點 (USN-4948-1)

high Nessus Plugin ID 149407

概要

遠端 Ubuntu 主機缺少一個或多個安全性更新。

說明

遠端 Ubuntu 20.04 LTS 主機上安裝的一個套件受到 USN-4948-1 公告中所提及的多個弱點影響。

- 在 Linux 核心中發現一個弱點,其中 llcp_sock_bind() 中的 refcount 洩漏會導致釋放後使用,可能進而造成權限提升。(CVE-2020-25670)

- 在 Linux 核心中發現一個弱點,其中 llcp_sock_connect() 中的 refcount 洩漏會導致釋放後使用,可能進而造成權限提升。(CVE-2020-25671)

- 在 llcp_sock_connect 的 Linux 核心中發現一個記憶體洩漏弱點 (CVE-2020-25672)

- XSA-365 的修正包含指標初始化,如此後續的清理程式碼將不會使用未初始化或過時的值。此初始化動作太過深入,在某些情況下可能會覆寫需要清理的指標。缺少清理會導致洩漏持續授權。單獨的來賓結束後,該洩漏又會阻止完全清理,進而留下殭屍網域。所有套用了 XSA-365 修復程序的 Linux 版本都容易受到影響。
受 XSA-365 影響的版本至少可回退到 3.11 版。(CVE-2021-28688)

- 在 Linux 核心 5.11.8 及之前版本的 fs/io_uring.c 中發現一個問題。攻擊者可利用此問題造成拒絕服務 (鎖死),這是因為 exit 可能正在等待暫存 SQPOLL 執行緒,而同時 SQPOLL 執行緒正在等待訊號啟動,即 CID-3ebba796fa25。(CVE-2021-28951)

- 在 5.11.8 版之前的 Linux 核心中發現一個問題。遇到非預期的連接埠 ID 號碼時,sound/soc/qcom/sdm845.c soundwire 裝置驅動程式會發生緩衝區溢位情形,即 CID-1c668e1c0a0f。(此問題已在 5.12-rc4 版中得到修正。) (CVE-2021-28952)

- 在 Linux 核心 5.11.8 之前版本中,發現 fs/btrfs/ctree.c 的 get_old_root 中存在爭用情形。攻擊者可利用此問題造成拒絕服務 (BUG),這是因為未於復製作業之前鎖定範圍緩衝區所致,即 CID-dbcc7d57bffc。(CVE-2021-28964)

- 在有些 Haswell CPU 上,Linux 核心 5.11.8 之前所有版本的中 arch/x86/events/intel/ds.c 的 intel_pmu_drain_pebs_nhm 中,使用者空間應用程式 (例如 perf-fuzzer) 可造成系統當機,這是因為 PEBS 記錄中的 PEBS 狀態處理不當所致,亦即 CID-d88d05a9e0b6。(CVE-2021-28971)

- 在 Linux 核心 5.11.8 之前版本的 drivers/pci/hotplug/rpadlpar_sysfs.c 中,將新裝置名稱從使用者空間寫入驅動程式時,RPA PCI 熱插拔驅動程式會出現使用者允許的緩衝區溢位情形,進而允許使用者空間將資料直接寫入至核心堆疊框架。發生這種情況是因為 add_slot_store 和 remove_slot_store 不當處理 drc_name「\ 0」終止所導致,即 CID-cc7a0bb058b8。(CVE-2021-28972)

- 在 Linux 核心 5.11.10 之前的所有版本中發現一個問題。Freescale Gianfar Ethernet 驅動程式中的 drivers/net/ethernet/freescale/gianfar.c 允許攻擊者造成系統當機,這是因為在使用 jumbo 封包且啟用 NAPI 時,在 rx 佇列滿溢的情況下計算的片段大小為負值,亦即 CID -d8861bab48b6。(CVE-2021-29264)

- 在 Linux 核心 5.11.9 之前版本中發現一個問題。drivers/vhost/vdpa.c 中有一個釋放後使用問題,這是因為 v-> config_ctx 在重新開啟字元裝置時有一個無效值所致,即 CID-f6bbf0010ba0。
(CVE-2021-29266)

- 在 Linux 核心 5.11.11 之前版本中發現一個問題。net/tipc/node.c 中的 tipc_nl_retrieve_key 未正確驗證特定的資料大小,即 CID-0217ed2848e8。(CVE-2021-29646)

- 在 Linux 核心 5.11.11 之前版本中發現一個問題。由於部分未初始化的資料結構,net/qrtr/qrtr.c 中的 qrtr_recvmsg 允許攻擊者從核心記憶體取得敏感資訊,(即 CID-50535249f624)。(CVE-2021-29647)

- 在 5.11.11 版之前的 Linux 核心中發現一個問題。使用者模式驅動程式 (UMD) 存在 copy_process() 記憶體洩漏問題,這與 kernel/usermode_driver.c 和 kernel/bpf/preload/bpf_preload_kern.c 中缺少清理步驟有關,亦即 CID-f60a85cad677。(CVE-2021-29649)

- 在 5.11.11 版之前的 Linux 核心中發現一個問題。netfilter 子系統允許攻擊者造成拒絕服務 (錯誤),這是因為 net/netfilter/x_tables.c 和 include/linux/netfilter/x_tables.h 在指派新表格值時缺少完整的記憶體屏障所致,即 CID-175e476b8cdf。
(CVE-2021-29650)

- Linux 核心 5.11.12 之前版本的 arch/x86/kvm/svm/nested.c 中存在釋放後使用問題,當有巢狀來賓時,AMD KVM 來賓可繞過主機作業系統 MSR 上的存取控制,即 CID-a58d9166a756 。產生此問題的原因是,nested_svm_vmrun 中存在與 VMCB12 重複擷取相關聯的 TOCTOU 爭用情形。
(CVE-2021-29657)

- 在 Linux 核心 5.12 之前版本中,多裝置驅動模式模組中 drivers/md/dm-ioctl.c 的 list_devices 中發現一個超出邊界 (OOB) 記憶體寫入缺陷。邊界檢查失敗可讓擁有特殊使用者 (CAP_SYS_ADMIN) 特權的攻擊者取得超出邊界存取記憶體的權限,進而導致系統當機或內部核心資訊洩漏。此弱點對系統可用性威脅最大。(CVE-2021-31916)

- 在 Linux 核心的 Nosy 驅動程式中發現一個缺陷。此問題讓裝置可在雙重連結清單中插入兩次,導致在移除其中一個裝置時發生釋放後使用。此弱點對於機密性、完整性以及系統可用性的威脅最大。此問題會影響到核心 5.12-rc6 之前的版本 (CVE-2021-3483)

- Linux 核心中的 eBPF RINGBUF bpf_ringbuf_reserve() 函式未檢查配置的大小是否小於 ringbuf 大小,進而允許攻擊者在核心內執行超出邊界寫入,進而執行任意程式碼。此問題已透過 commit 4b81ccebaeee 修正 (bpf、ringbuf:拒絕保留大於 ringbuf 的緩衝區) (v5.13-rc4),並反向移植至 v5.12.4、v5.11.21 和 v5.10.37 中的穩定核心。這是透過 457f44363a88 引入 (bpf: 建置 BPF 環形緩衝區及其驗證程式支援) (v5.8-rc1)。(CVE-2021-3489)

- Linux 核心中位元運算 (AND、OR 和 XOR) 的 eBPF ALU32 邊界追蹤未正確更新 32 位元邊界,這會在 Linux 核心中變成越界讀取和寫入,因此造成任意程式碼執行。此問題已透過 commit 049c4e13714e 修正 (bpf:修正位元運算上的 alu32 const subreg 邊界追蹤) (v5.13-rc4),並反向移植至 v5.12.4、v5.11.21 和 v5.10.37 中的穩定核心。AND/OR 問題是由 commit 3f50f132d840 引入 (bpf:驗證程式,執行明確的 ALU32 邊界追蹤) (5.7-rc1),且 XOR 變體是由 2921c90d4718 引入 (bpf:透過 xor 修正驗證程式失敗) (5.10-rc1)。 (CVE-2021-3490)

- Linux 核心中的 io_uring 子系統允許在 PROVIDE_BUFFERS 作業中繞過 MAX_RW_COUNT 限制,進而導致讀取 /proc/<PID>/mem 時在 mem_rw 中使用負值。
這可用來建立導致核心中任意程式碼執行的堆積溢位。已透過 commit d1f82808877b 解決 (io_uring:在提供緩衝區上截斷大於 MAX_RW_COUNT 的長度) (v5.13-rc1),並反向移植至 v5.12.4、v5.11.21 和 v5.10.37 中的穩定核心。這是在 ddf0322db79c 中引入 (io_uring:新增 IORING_OP_PROVIDE_BUFFERS) (v5.7-rc1)。(CVE-2021-3491)

請注意,Nessus 並未測試這些問題,而是僅依據應用程式自我報告的版本號碼作出判斷。

解決方案

更新受影響的 kernel 套件。

另請參閱

https://ubuntu.com/security/notices/USN-4948-1

Plugin 詳細資訊

嚴重性: High

ID: 149407

檔案名稱: ubuntu_USN-4948-1.nasl

版本: 1.10

類型: local

代理程式: unix

已發布: 2021/5/12

已更新: 2024/1/9

支援的感應器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

風險資訊

VPR

風險因素: Critical

分數: 9.0

CVSS v2

風險因素: High

基本分數: 7.2

時間分數: 6.3

媒介: CVSS2#AV:L/AC:L/Au:N/C:C/I:C/A:C

CVSS 評分資料來源: CVE-2021-3491

CVSS v3

風險因素: High

基本分數: 8.8

時間分數: 8.4

媒介: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H

時間媒介: CVSS:3.0/E:H/RL:O/RC:C

弱點資訊

CPE: cpe:/o:canonical:ubuntu_linux:20.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-image-5.10.0-1026-oem

必要的 KB 項目: Host/cpu, Host/Debian/dpkg-l, Host/Ubuntu, Host/Ubuntu/release

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2021/5/11

弱點發布日期: 2021/3/20

可惡意利用

Core Impact

Metasploit (Linux eBPF ALU32 32-bit Invalid Bounds Tracking LPE)

參考資訊

CVE: CVE-2020-25670, CVE-2020-25671, CVE-2020-25672, CVE-2021-28688, CVE-2021-28951, CVE-2021-28952, CVE-2021-28964, CVE-2021-28971, CVE-2021-28972, CVE-2021-29264, CVE-2021-29266, CVE-2021-29646, CVE-2021-29647, CVE-2021-29649, CVE-2021-29650, CVE-2021-29657, CVE-2021-31916, CVE-2021-3483, CVE-2021-3489, CVE-2021-3490, CVE-2021-3491

USN: 4948-1