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

medium Nessus Plugin ID 229166

概要

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

說明

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

- userfaultfd修正大型 PMD 修補程式的檢查 userfaultfd修正 pmd_trans_huge() 檢查的爭用 v2。根據核心版本而定mfill_atomic() 中的 pmd_trans_huge() 程式碼在三個不同的方式中是錯誤的 1. pmd_trans_huge() 檢查是積極的可導致 BUG_ON() (如果您按下正確的兩個爭用視窗) - I'已在核心構建中使用一些額外的 mdelay() 呼叫測試了此問題。如需爭用情形的描述請參閱認可訊息。在較舊的核心上 (在 6.5之前的版本)我認為如果您剛好正好 5 個窄爭用視窗從理論上講相同的錯誤甚至會導致存取轉換頁面內容作為頁面表格 (我尚未測試此案例)。 2. 如 Qi Zheng 所指出的 pmd_trans_huge() 不足以偵測未指向分頁表的 PMD。在較舊的核心上 (在 6.5之前)您只需要贏得一個相當廣泛的爭用即可達到此問題。我已在 6.1 穩定版本中針對我的 x86 VM 上的 UFFDIO_ZEROPAGE 爭用移轉 (將 mdelay() 修補至 try_to_migrate()) 進行測試 - 這會造成 ptlock_ptr() 中出現核心 oops。 3. 在較新的核心 (>=6.5)上針對 shmem 對應允許 khugepaged 將頁面表格從 us 下方拉出 (雖然我尚未對此進行測試)因此我認為 mfill_atomic() 中的 BUG_ON() 檢查無效錯了。我決定針對這些編寫兩個獨立的修正 (一個針對錯誤 1+2 一個修正針對錯誤 3)如此一來第一個修正就可反向移植至受錯誤 1+2 影響的核心。此修補程式 (共 2 個):此修補程式可修正兩個問題。我發現可發生下列爭用情形mfill_atomic 其他執行緒 ============ ============ <zap PMD> pmdp_get_lockless() [無讀取 pmd] <bail if trans_huge> <if none:> <pagefault creates transhuge zeropage> __pte_alloc [no-op] <zap PMD> <bail if pmd_trans_huge(*dst_pmd)> BUG_ON(pmd_none(*dst_pmd)) 我已在具有額外 mdelay() 呼叫的核心中進行實驗性驗證BUG_ON(pmd_none(*dst_pmd)) 觸發程序。在認可 0d940a9b270b (mm/pgtable允許 pte_offset_map[_lock]() 失敗) 版新的核心上這不會導致比 BUG_ON() 更嚴重的問題因為頁面表格存取協助程式實際上是為處理頁面表格而設計的同時消失但在較舊的核心 (<=6.4)上我認為理論上我們可能會爭用通過兩個 BUG_ON() 檢查最終將 hugepage 視為分頁表。如 Qi Zheng 所指出的第二個問題是存在 pmd_trans_huge() 無法擷取的其他類型巨大 PMDdevmap PMD 與 swap PMD (特別是移轉 PMD)。在 <=6.4中此情況比第一個問題還嚴重。其中假設 PMD 指向頁面表格。中斷如下:首先核心嘗試取得 PTE 鎖定 (如果移轉項目 PMD 中的位址位元沒有結構頁面這將會損毀或更糟 - 我認為至少在 X86 上通常沒有對應的結構頁面感謝 PTE 反轉緩解amd64 看起來有所不同)。如果這沒有當機核心接下來會嘗試將 PTE 寫入其誤認為是分頁表的位置。作為修正這些問題的一部分在 __pte_alloc() 之前去除 pmd_trans_huge() 的檢查 - 此為多餘我們將必須在 __pte_alloc() 之後進行檢查。反向移植注意 在舊版核心中pmdp_get_lockless() 是 pmd_read_atomic()。 (CVE-2024-46787)

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

解決方案

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

另請參閱

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

https://security-tracker.debian.org/tracker/CVE-2024-46787

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

Plugin 詳細資訊

嚴重性: Medium

ID: 229166

檔案名稱: unpatched_CVE_2024_46787.nasl

版本: 1.3

類型: local

代理程式: unix

系列: Misc.

已發布: 2025/3/5

已更新: 2025/8/20

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

風險資訊

VPR

風險因素: Medium

分數: 4.4

CVSS v2

風險因素: Medium

基本分數: 6.9

時間性分數: 5.1

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

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

CVSS v3

風險因素: Medium

基本分數: 4.7

時間性分數: 4.1

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

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

弱點資訊

CPE: cpe:/o:debian:debian_linux:11.0, cpe:/o:canonical:ubuntu_linux:20.04:-:lts, p-cpe:/a:redhat:enterprise_linux:kernel-rt-core, p-cpe:/a:centos:centos:kernel-rt-devel-matched, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-fips, p-cpe:/a:centos:centos:kernel-rt-modules-core, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-5.19, p-cpe:/a:redhat:enterprise_linux:kernel-doc, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.3, p-cpe:/a:centos:centos:kernel-debug-devel, p-cpe:/a:centos:centos:kernel-devel, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-hwe, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.8, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules, 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:redhat:enterprise_linux:kernel-debug-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.2, p-cpe:/a:centos:centos:kernel-rt-core, p-cpe:/a:redhat:enterprise_linux:kernel, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.0, p-cpe:/a:canonical:ubuntu_linux:linux-raspi, p-cpe:/a:redhat:enterprise_linux:kernel-modules, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.5, p-cpe:/a:centos:centos:kernel-rt-devel, p-cpe:/a:centos:centos:kernel-rt-modules-extra, p-cpe:/a:centos:centos:python3-perf, p-cpe:/a:redhat:enterprise_linux:kernel-rt-selftests-internal, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.19, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-core, p-cpe:/a:redhat:enterprise_linux:kernel-rt-devel-matched, cpe:/o:canonical:ubuntu_linux:16.04:-:lts, p-cpe:/a:centos:centos:kernel-zfcpdump, p-cpe:/a:canonical:ubuntu_linux:linux-realtime, p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.13, p-cpe:/a:canonical:ubuntu_linux:linux-raspi2, p-cpe:/a:redhat:enterprise_linux:kernel-abi-whitelists, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-devel-matched, p-cpe:/a:redhat:enterprise_linux:kernel-tools-libs-devel, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.19, p-cpe:/a:centos:centos:kernel-rt-selftests-internal, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-core, p-cpe:/a:redhat:enterprise_linux:kernel-cross-headers, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.8, p-cpe:/a:canonical:ubuntu_linux:linux-nvidia-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-tools-libs, p-cpe:/a:canonical:ubuntu_linux:linux-aws-fips, p-cpe:/a:redhat:enterprise_linux:perf, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.0, p-cpe:/a:redhat:enterprise_linux:kernel-abi-stablelists, p-cpe:/a:centos:centos:kernel-headers, p-cpe:/a:centos:centos:kernel-rt-modules, p-cpe:/a:centos:centos:kernel-debug-core, p-cpe:/a:redhat:enterprise_linux:bpftool, p-cpe:/a:canonical:ubuntu_linux:linux-oracle-5.13, p-cpe:/a:centos:centos:kernel-debug-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fips, p-cpe:/a:centos:centos:kernel-tools-libs-devel, p-cpe:/a:redhat:enterprise_linux:kernel-rt-kvm, p-cpe:/a:redhat:enterprise_linux:kernel-tools, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-oem, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-6.5, p-cpe:/a:centos:centos:kernel-rt-debug-modules-core, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.8, p-cpe:/a:redhat:enterprise_linux:kernel-devel, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-core, p-cpe:/a:redhat:enterprise_linux:kernel-rt-devel, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-5.19, p-cpe:/a:centos:centos:kernel-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.13, p-cpe:/a:centos:centos:kernel-cross-headers, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.14, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-devel, p-cpe:/a:canonical:ubuntu_linux:linux-gcp, p-cpe:/a:centos:centos:kernel-rt-kvm, p-cpe:/a:canonical:ubuntu_linux:linux-azure, p-cpe:/a:centos:centos:kernel-rt-debug-modules-partner, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-partner, p-cpe:/a:debian:debian_linux:linux, p-cpe:/a:centos:centos:kernel-rt, p-cpe:/a:centos:centos:kernel-rt-modules-internal, p-cpe:/a:centos:centos:kernel-tools, p-cpe:/a:centos:centos:kernel-rt-debug-modules-extra, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-extra, cpe:/o:canonical:ubuntu_linux:22.04:-:lts, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-core, p-cpe:/a:canonical:ubuntu_linux:linux-gcp-5.3, p-cpe:/a:centos:centos:kernel-rt-modules-partner, p-cpe:/a:centos:centos:kernel-rt-debug, p-cpe:/a:centos:centos:kernel-abi-stablelists, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules, p-cpe:/a:redhat:enterprise_linux:kernel-debug-core, p-cpe:/a:centos:centos:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-debug-modules, p-cpe:/a:centos:centos:kernel-selftests-internal, p-cpe:/a:redhat:enterprise_linux:kernel-ipaclones-internal, 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, cpe:/o:debian:debian_linux:12.0, p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.2, p-cpe:/a:centos:centos:kernel-zfcpdump-modules, p-cpe:/a:canonical:ubuntu_linux:linux-aws-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump, 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:centos:centos:kernel-rt-debug-kvm, p-cpe:/a:centos:centos:perf, p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.4, p-cpe:/a:centos:centos:kernel-modules, cpe:/o:centos:centos:8, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-internal, p-cpe:/a:centos:centos:bpftool, p-cpe:/a:canonical:ubuntu_linux:linux-azure-edge, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.11, p-cpe:/a:centos:centos:kernel-doc, p-cpe:/a:canonical:ubuntu_linux:linux-gke-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.5, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-internal, p-cpe:/a:centos:centos:kernel-rt-debug-devel-matched, p-cpe:/a:centos:centos:kernel-zfcpdump-core, p-cpe:/a:centos:centos:kernel-zfcpdump-devel, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.3, p-cpe:/a:centos:centos:kernel-tools-libs, 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:centos:centos:kernel-abi-whitelists, cpe:/o:redhat:enterprise_linux:8, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-core, p-cpe:/a:canonical:ubuntu_linux:linux-lowlatency-hwe-6.2, p-cpe:/a:redhat:enterprise_linux:kernel-headers, 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-gkeop-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-5.13, p-cpe:/a:redhat:enterprise_linux:kernel-debug-modules, p-cpe:/a:redhat:enterprise_linux:python3-perf, p-cpe:/a:redhat:enterprise_linux:kernel-selftests-internal, p-cpe:/a:centos:centos:kernel-ipaclones-internal, p-cpe:/a:centos:centos:kernel-debug, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-5.19, p-cpe:/a:canonical:ubuntu_linux:linux-intel-iot-realtime, p-cpe:/a:canonical:ubuntu_linux:linux-gkeop, 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-azure-5.15, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.13, p-cpe:/a:redhat:enterprise_linux:kernel-rt-modules-internal, p-cpe:/a:canonical:ubuntu_linux:linux-aws-5.11, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-extra, p-cpe:/a:redhat:enterprise_linux:kernel-debug-devel, p-cpe:/a:canonical:ubuntu_linux:linux-gke-4.15, p-cpe:/a:centos:centos:kernel-rt-debug-modules-internal, p-cpe:/a:redhat:enterprise_linux:kernel-modules-extra, p-cpe:/a:canonical:ubuntu_linux:linux-azure-6.5, p-cpe:/a:redhat:enterprise_linux:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-rt-debug-devel, p-cpe:/a:redhat:enterprise_linux:kernel-zfcpdump-modules, p-cpe:/a:centos:centos:kernel-core, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.13, p-cpe:/a:centos:centos:kernel-debug-modules-extra, p-cpe:/a:redhat:enterprise_linux:kernel-debug, 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:centos:centos:kernel-rt-debug-core, p-cpe:/a:canonical:ubuntu_linux:linux-hwe-6.5, p-cpe:/a:canonical:ubuntu_linux:linux-azure-5.11, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-modules-partner, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug-devel, p-cpe:/a:canonical:ubuntu_linux:linux-starfive-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-riscv-5.11, p-cpe:/a:centos:centos:kernel-rt-debug-modules, p-cpe:/a:centos:centos:kernel, p-cpe:/a:canonical:ubuntu_linux:linux-oem-6.1, p-cpe:/a:canonical:ubuntu_linux:linux-riscv, p-cpe:/a:redhat:enterprise_linux:kernel-rt-debug, p-cpe:/a:canonical:ubuntu_linux:linux-azure-fde-6.2, p-cpe:/a:canonical:ubuntu_linux:linux-oem-5.10

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

可輕鬆利用: No known exploits are available

弱點發布日期: 2024/9/18

參考資訊

CVE: CVE-2024-46787