CentOS 9 : kernel-5.14.0-547.el9

high Nessus Plugin ID 213467

概要

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

說明

遠端 CentOS Linux 9 主機上安裝的套件受到 kernel-5.14.0-547.el9 版本變更記錄中提及的多個弱點影響。

- 在 Linux 核心中,下列弱點已解決 : netfilter : nfnetlink : 在使用 ACK 前初始化 extack。新增在回應 BATCH_BEGIN 和 BATCH_END 時缺少的 extack 初始化。
(CVE-2024-44945)

- 在 Linux 核心中,下列弱點已解決 : net : 修復組態較小的 gso_max_size/gso_ipv4_max_size 時發生的當機。設定較小的 gso_max_size/gso_ipv4_max_size 將導致 sk_dst_gso_max_size() 發生反向溢位,有可能觸發 BUG_ON 損毀,這是因為 sk-> sk_gso_max_size 的值可能遠大於裝置限制。呼叫追蹤 : tcp_write_xmit tso_segs = tcp_init_tso_segs(skb, mss_now);
tcp_set_skb_tso_segs tcp_skb_pcount_set // skb->len = 524288, mss_now = 8 // u16 tso_segs = 524288/8 = 65535 -> 0 tso_segs = DIV_ROUND_UP(skb->len, mss_now) BUG_ON(!tso_segs) 新增對 gso_max_size 和 gso_ipv4_max_size 最小值的檢查。 (CVE-2024-50258)

- 在 Linux 核心中,下列弱點已解決 : mm : 修正 mmap_region() 的錯誤路徑行為。mmap_region() 函數的結構相當可怕,其控制流程錯綜複雜,存在多種可能引發問題的途徑,包括狀態不完整、記憶體洩漏以及其他不良情況。大量複雜性的肇因是嘗試在對應 VMA 處理程序的後期處理錯誤,這是最近觀察到的資源洩漏問題和明顯不一致狀態問題的根源。我們利用本系列中先前的修補程式,將數個檢查提前至程式碼的早期階段,並透過將邏輯核心移至靜態內部函式 __mmap_region() 來簡化流程。如此一來,我們就能在進行任何實際工作之前先執行多項檢查,並視需要無條件回溯可寫入的 unmap 檢查,也可以無條件執行 CONFIG_DEBUG_VM_MAPLE_TREE 驗證。我們在此進行了幾項調整 : 1. 在呼叫檔案備份記憶體勾點之前先為迭代器分配記憶體,讓我們得以提早退出,並避免必須執行複雜且容易出錯的關閉/釋放邏輯。我們在成功和錯誤的路徑上都謹慎地釋放了迭代器狀態。 2. 外層的 mmap_region() 函式會提早處理 mapping_map_writable() 邏輯。之前,該邏輯會在對應新配置的檔案支援 VMA 時執行 mapping_map_writable(),並在成功和錯誤路徑上執行對應的 mapping_unmap_writable()。現在,在處理檔案支援的共用可寫入對應時,我們會無條件執行此邏輯。如果驅動程式變更旗標以消除 VM_MAYWRITE,不會使剛剛執行的密封檢查失效,而且我們在任何情況下都會遞減包裝函式中的計數器。我們會執行除錯宣告,以確保驅動程式不會嘗試執行相反的動作。
3. 我們也將 arch_validate_flags() 上移至 mmap_region() 函式。這僅與 arm64 和 sparc64 相關,且檢查僅針對已啟用 ADI 的 SPARC 才有意義。如果驅動程式導致此檢查無效,我們會明確為此 arch 新增警告,不過程式碼最終仍應修復以消除此需求。實施上述所有措施後,我們不再需要明確關閉錯誤路徑上的 VMA,因為我們會在呼叫任何驅動程式的 mmap 勾點之前完成所有可能失敗的檢查。這些改進消除了整個錯誤類別,使程式碼更易於理解且更加健全。
(CVE-2024-53096)

- 在 Linux 核心中,下列弱點已解決 : media : uvcvideo : 在 uvc_parse_format 中跳過 UVC_VS_UNDEFINED 類型框架的剖析。這是因為在 uvc_parse_streaming 中計算框架緩衝區大小時,並未考慮到此類型的框架,可能導致超出邊界寫入。
(CVE-2024-53104)

- 在 Linux 核心中,下列弱點已解決 : mm : 修復 alloc_pages_bulk_noprof 中的 NULL 指標解除參照。當工作在 cpuset 之間移轉時,我們在 alloc_pages_bulk_noprof() 中觸發了 ac.preferred_zoneref->zone 的 NULL 指標解除參照。啟用 cpuset 時,在 prepare_alloc_pages() 中,ac->nodemask 可能為 t->mems_allowed。當 first_zones_zonelist() 受到呼叫以尋找 prefix_zoneref 時,若工作在不同 cpuset 之間移轉,可能會同時修改 ac->nodemask。假設我們有 2 個 NUMA 節點,當遊走 ac->zonelist 中的 Node1 時,nodemask 是 2,而當遊走 ac->zonelist 中的 Node2 時,nodemask 是 1。因此,ac->preferred_zoneref 會指向 NULL 區域。在 alloc_pages_bulk_noprof() 中,for_each_zone_zonelist_nodemask() 尋找允許的區域並呼叫 zonelist_node_idx(ac.preferred_zoneref),進而導致 NULL 指標解除參照。
__alloc_pages_noprof() 透過提交 ea57485af8f4,新增對 NULL 指標的檢查 (mm、page_alloc :
fix check for NULL preferred_zone),並透過提交 df76cee6bbeb (mm, page_alloc : remove redundant checks from alloc fastpath) 移除了快速分配路徑中的冗餘檢查以修復此問題。若要修復此問題,請檢查 preferred_zoneref->zone 的 NULL 指標。 (CVE-2024-53113)

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

解決方案

更新 CentOS 9 Stream bpftool 套件。

另請參閱

https://kojihub.stream.centos.org/koji/buildinfo?buildID=73039

Plugin 詳細資訊

嚴重性: High

ID: 213467

檔案名稱: centos9_kernel-5_14_0-547_73039.nasl

版本: 1.4

類型: local

代理程式: unix

已發布: 2025/1/2

已更新: 2025/2/6

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

風險資訊

VPR

風險因素: High

分數: 8.4

CVSS v2

風險因素: Medium

基本分數: 6.8

時間性分數: 5.6

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

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

CVSS v3

風險因素: High

基本分數: 7.8

時間性分數: 7.2

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

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

弱點資訊

CPE: p-cpe:/a:centos:centos:kernel-rt-devel-matched, p-cpe:/a:centos:centos:kernel-rt-modules-core, p-cpe:/a:centos:centos:kernel-debug-devel, p-cpe:/a:centos:centos:kernel-devel, p-cpe:/a:centos:centos:kernel-64k-debug, p-cpe:/a:centos:centos:libperf, p-cpe:/a:centos:centos:kernel-rt-core, p-cpe:/a:centos:centos:kernel-modules-partner, p-cpe:/a:centos:centos:kernel-64k-modules-extra, p-cpe:/a:centos:centos:kernel-64k-modules-core, p-cpe:/a:centos:centos:kernel-64k-modules-partner, p-cpe:/a:centos:centos:kernel-64k-modules, p-cpe:/a:centos:centos:kernel-rt-devel, p-cpe:/a:centos:centos:kernel-debug-uki-virt-addons, p-cpe:/a:centos:centos:kernel-rt-modules-extra, p-cpe:/a:centos:centos:python3-perf, p-cpe:/a:centos:centos:kernel-64k-debug-modules-partner, p-cpe:/a:centos:centos:kernel-zfcpdump, p-cpe:/a:centos:centos:kernel-64k-debug-core, p-cpe:/a:centos:centos:kernel-64k-debug-modules-internal, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-partner, p-cpe:/a:centos:centos:kernel-zfcpdump-devel-matched, p-cpe:/a:centos:centos:kernel-debug-devel-matched, p-cpe:/a:centos:centos:kernel-64k-devel, p-cpe:/a:centos:centos:kernel-headers, p-cpe:/a:centos:centos:kernel-rt-modules, p-cpe:/a:centos:centos:kernel-64k-debug-devel-matched, p-cpe:/a:centos:centos:kernel-debug-core, p-cpe:/a:centos:centos:kernel-tools-libs-devel, p-cpe:/a:centos:centos:kernel-64k-core, p-cpe:/a:centos:centos:kernel-debug-modules-internal, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-core, p-cpe:/a:centos:centos:kernel-rt-debug-modules-core, p-cpe:/a:centos:centos:kernel-modules-extra, p-cpe:/a:centos:centos:kernel-cross-headers, p-cpe:/a:centos:centos:kernel-rt-kvm, p-cpe:/a:centos:centos:kernel-rt-debug-modules-partner, 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:centos:centos:kernel-debug-uki-virt, 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:centos:centos:kernel-rt-debug-devel-matched, p-cpe:/a:centos:centos:kernel-zfcpdump-core, p-cpe:/a:centos:centos:kernel-64k-debug-modules-extra, p-cpe:/a:centos:centos:kernel-zfcpdump-devel, p-cpe:/a:centos:centos:kernel-tools-libs, p-cpe:/a:centos:centos:libperf-devel, p-cpe:/a:centos:centos:kernel-64k, p-cpe:/a:centos:centos:kernel-64k-modules-internal, p-cpe:/a:centos:centos:kernel-ipaclones-internal, p-cpe:/a:centos:centos:kernel-debug, p-cpe:/a:centos:centos:rtla, cpe:/a:centos:centos:9, p-cpe:/a:centos:centos:kernel-64k-debug-modules, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-extra, p-cpe:/a:centos:centos:kernel-selftests-internal, p-cpe:/a:centos:centos:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-debug-modules, p-cpe:/a:centos:centos:rv, p-cpe:/a:centos:centos:kernel-zfcpdump-modules, p-cpe:/a:centos:centos:kernel-64k-debug-devel, p-cpe:/a:centos:centos:perf, p-cpe:/a:centos:centos:kernel-rt-debug-kvm, p-cpe:/a:centos:centos:kernel-modules, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-internal, p-cpe:/a:centos:centos:bpftool, p-cpe:/a:centos:centos:kernel-rt-debug-modules-internal, p-cpe:/a:centos:centos:kernel-64k-devel-matched, p-cpe:/a:centos:centos:kernel-64k-debug-modules-core, p-cpe:/a:centos:centos:kernel-rt-debug-devel, p-cpe:/a:centos:centos:kernel-modules-core, p-cpe:/a:centos:centos:kernel-core, p-cpe:/a:centos:centos:kernel-debug-modules-partner, p-cpe:/a:centos:centos:kernel-debug-modules-extra, p-cpe:/a:centos:centos:kernel-rt-debug-core, p-cpe:/a:centos:centos:kernel-devel-matched, p-cpe:/a:centos:centos:kernel-rt-debug-modules, p-cpe:/a:centos:centos:kernel, p-cpe:/a:centos:centos:kernel-debug-modules-core, p-cpe:/a:centos:centos:kernel-uki-virt-addons, p-cpe:/a:centos:centos:kernel-uki-virt

必要的 KB 項目: Host/local_checks_enabled, Host/cpu, Host/CentOS/release, Host/CentOS/rpm-list

可被惡意程式利用: true

可輕鬆利用: Exploits are available

修補程式發佈日期: 2024/12/30

弱點發布日期: 2024/8/31

CISA 已知遭惡意利用弱點到期日: 2025/2/26

參考資訊

CVE: CVE-2024-44945, CVE-2024-50258, CVE-2024-53096, CVE-2024-53104, CVE-2024-53113, CVE-2024-53118, CVE-2024-53140