Linux Distros 未修補的弱點:CVE-2024-35877

medium Nessus Plugin ID 229378

概要

Linux/Unix 主機上安裝的一個或多個套件存有弱點,供應商表示將不會修補。

說明

Linux/Unix 主機上安裝了一個或多個受到弱點影響的套件,且供應商未提供可用的修補程式。

- x86/mm/pat修正 COW 對應中的 VM_PAT 處理。PAT 處理在 COW 對應中無法執行正確的動作第一個 PTE (或實際上是所有 PTE) 可在指向 anon 作品集的寫入錯誤期間取代。在 COW 對應中使用 follow_phys() 從 PTE 可靠地複原正確的 PFN 和 cachemode 將無法運作。
使用 follow_phys()我們可能只獲得 anon 作品集的位址+保護 (這是非常錯誤的)或者在 swap/nonswap 項目上失敗、使 follow_phys() 失敗並觸發 untrack_pfn() 和 track_pfn_copy() 中的 WARN_ON_ONCE()未正確呼叫 free_pfn_range()。在 free_pfn_range() 中我們不會呼叫 memtype_free() 或是會以錯誤的範圍呼叫它可能會洩漏記憶體。若要修正此問題我們更新 follow_phys() 以拒絕傳回 anon 作品集並遞補為在遇到該問題時針對 COW 對應使用 vma->vm_pgoff 內的已儲存 PFN。我們現在會正確處理具有 COW 的 untrack_pfn()其中不需要 cachemode。如果第一頁由 anon 作品集取代我們將必須使 fork()->track_pfn_copy() 失敗但是我們必須在 VMA 中儲存 cachemode 才能使其正常運作進而可能會增加 VMA 大小。現在讓我們保持簡單並讓 track_pfn_copy() 在這種情況下發生失敗過去如果已經有 swap/nonswap 項目它會失敗而且會用 anon 作品集做錯事。在 untrack_pfn() 中觸發 WARN_ON_ONCE() 的簡易複製器 <--- C reproducer ---> #include <stdio.h> #include<sys/mman.h> #include <unistd.h> #include <liburing.h> int main(void) { struct io_uring_params p = {}; int ring_fd size_t 大小char *map; ring_fd = io_uring_setup(1, &p); if (ring_fd < 0) { perror(io_uring_setup);傳回 1 } size = p.sq_off.array + p.sq_entries * sizeof(unsigned); /* 對應提交佇列 ring MAP_PRIVATE */ map = mmap(0, size, PROT_READ | PROT_WRITE, MAP_PRIVATE, ring_fd, IORING_OFF_SQ_RING); if (map == MAP_FAILED) { perror(mmap);傳回 1 /* 我們至少有一頁。讓我們 COW 吧。 */ *map = 0 pause()傳回 0 } <--- C reproducer ---> 在具有 16 GiB RAM 和已設定 swap 的系統上# ./iouring & # memhog 16G # killall iouring [ 301.552930] ------------[cut here]-------- ------ [ 301.553285] 警告 CPU7 PID 1402 at arch/x86/mm/pat/memtype.c:1060 untrack_pfn+0xf4/0x100 [ 301.553989] 連結於 binfmt_misc nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib 的模組nft_reject_g [ 301.558232] CPU7 PID1402 通訊iouring 未受污染的 6.7.5-100.fc38.x86_64 #1 [301.558772] 硬體名稱QEMU Standard PC (Q35 + ICH9, 2009)BIOS rel-1.16 .3-0-ga6ed6b701f0a-prebu4 [301.559569] RIP: 0010:untrack_pfn+0xf4/0x100 [ 301.559893] 程式碼75 c4 eb cf 48 8b 43 10 8b a8 e8 00 00 00 3b 6b 28 74 b8 48 8b 7b 30 e8 ea 1a f7 000 [ 301.561189] RSP0018:ffffba2c0377fab8 EFLAGS00010282 [301.561590] RAX 00000000ffffffea RBXffff9208c8ce9cc0 RCX000000010455e047 [ 301.562105] RDX
07fffffff0eb1e0a RSI 0000000000000000 RDI ffff9208c391d200 [ 301.562628] RBP 0000000000000000 R08
ffffba2c0377fab8 R090000000000000000 [ 301.563145] R10ffff9208d2292d50 R110000000000000002 R12
00007fea890e0000 [ 301.563669] R13: 0000000000000000 R14: ffffba2c0377fc08 R15: 0000000000000000 [301.564186] FS: 0000000000000000(0000) GS:ffff920c2fbc0000(0000) knlGS:0000000000000000 [ 301.564773] CS:
0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 301.565197] CR2: 00007fea88ee8a20 CR3: 00000001033a8000 CR4: 0000000000750ef0 [ 301.565725] PKRU: 55555 [] ] PKRU: 5555 [] ] PKRU: 55555 [ 301.565944] PKRU: 55555 [] ] PKRU: 55555 <TASK>301.566148] PKRU: 55555 [301.566325] ] ] untrack_pfn+0xf4/0x100 [ 301.566618] ? __warn+0x81/0x130 [ 301.566876] ? untrack_pfn+0xf4/0x100 [ 3 ---truncated--- (CVE-2024-35877)

請注意,Nessus 依賴供應商報告的套件存在。

解決方案

目前尚未有已知的解決方案。

另請參閱

https://access.redhat.com/security/cve/cve-2024-35877

https://ubuntu.com/security/CVE-2024-35877

Plugin 詳細資訊

嚴重性: Medium

ID: 229378

檔案名稱: unpatched_CVE_2024_35877.nasl

版本: 1.2

類型: local

代理程式: unix

系列: Misc.

已發布: 2025/3/5

已更新: 2025/8/15

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

風險資訊

VPR

風險因素: Medium

分數: 4.4

CVSS v2

風險因素: Medium

基本分數: 5.4

時間性分數: 4

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

CVSS 評分資料來源: CVE-2024-35877

CVSS v3

風險因素: Medium

基本分數: 5.5

時間性分數: 4.8

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

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

弱點資訊

CPE: cpe:/o:canonical:ubuntu_linux:20.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-fips, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.3, p-cpe:/a:canonical:ubuntu_linux:linux-hwe, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.8, cpe:/o:redhat:enterprise_linux:9, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.17, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.2, cpe:/o:canonical:ubuntu_linux:14.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.0, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.19, cpe:/o:canonical:ubuntu_linux:16.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-realtime, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-raspi2, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.8, p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-aws-fips, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.0, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fips, p-cpe:/a:canonical:ubuntu_linux:linux-oem, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.8, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.14, p-cpe:/a:canonical:ubuntu_linux:linux-gcp, p-cpe:/a:canonical:ubuntu_linux:linux-azure, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.3, p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.3, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.6, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.8, cpe:/o:canonical:ubuntu_linux:18.04:-:lts, p-cpe:/a:canonical:ubuntu_linux:linux-gkeop-5.4, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-allwinner-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.8, p-cpe:/a:canonical:ubuntu_linux:linux-fips, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.3, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-edge, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.13, p-cpe:/a:canonical:ubuntu_linux:linux, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-gke-4.15, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.8, p-cpe:/a:redhat:enterprise_linux:kernel-rt, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.0, p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-gke, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-intel-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.4, p-cpe:/a:canonical:ubuntu_linux:linux-azure-edge, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde, p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.11, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.1, p-cpe:/a:canonical:ubuntu_linux:linux-riscv, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.10

必要的 KB 項目: Host/local_checks_enabled, Host/cpu, global_settings/vendor_unpatched, Host/OS/identifier

可輕鬆利用: No known exploits are available

弱點發布日期: 2024/5/10

參考資訊

CVE: CVE-2024-35877