CentOS 9:kernel-5.14.0-479.el9

high Nessus Plugin ID 202393

概要

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

說明

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

- 現已解決 Linux 核心中的下列弱點:can: j1939: j1939_netdev_start():修正 j1939_priv 中 rx_kref 的 UAF 弱點 它會以如下方式觸發 j1939_priv 的 rx_kref 發生 UAF。cpu0 cpu1 j1939_sk_bind(socket0, ndev0, ...) j1939_netdev_start j1939_sk_bind(socket1, ndev0, ...) j1939_netdev_start j1939_priv_set j1939_priv_get_by_ndev_locked j1939_jsk_add ..... j1939_netdev_stop kref_put_lock(&priv->rx_kref, ...) kref_get(&priv->rx_kref, ...) REFCOUNT_WARN(addition on 0;...) ==================================================== refcount_t: addition on 0;釋放後使用。警告:
CPU: 1 PID: 20874 at lib/refcount.c:25 refcount_warn_saturate+0x169/0x1e0 RIP:
0010:refcount_warn_saturate+0x169/0x1e0 呼叫追蹤:j1939_netdev_start+0x68b/0x920 j1939_sk_bind+0x426/0xeb0 ? security_socket_bind+0x83/0xb0 rx_kref's kref_get() 和 kref_put() 應使用 j1939_netdev_lock 來保護。(CVE-2021-47459)

- 現已解決 Linux 核心中的下列弱點:net/sched:修正裝置遞回時的 mirred 鎖死問題。在分類 egress qdisc 上使用 mirred 動作並且封包被鏡像或重新導向至自身時,會發生 qdisc 鎖鎖死。請參閱下面的追蹤。[.....為簡潔起見,已移除其他資訊....] [ 82.890906] [ 82.890906] ========================== ================== [ 82.890906] 警告:
偵測到可能發生遞回鎖定 [ 82.890906] 6.8.0-05205-g77fadd89fe2d-dirty #213 污染:GW [82.890906] ------------------------ -------------------------------- [ 82.890906] ping/418 嘗試取得鎖定:[82.890906] ffff888006994110 (&sch->q.lock){+.- .}-{3:3},位於: __dev_queue_xmit+0x1778/0x3550 [ 82.890906] [82.890906] 但工作已保留鎖定:[ 82.890906] ffff888006994110 (&sch->q.lock){+.-.}- {3:3},於:
__dev_queue_xmit+0x1778/0x3550 [ 82.890906] [ 82.890906] 可能有助於我們偵錯此項目的其他資訊:[82.890906] 可能發生不安全鎖定的情況:[ 82.890906] [ 82.890906] CPU0 [ 82.890906] ---- [ 82.890906] lock(&sch->q.lock); [ 82.890906] lock(&sch->q.lock); [ 82.890906] [ 82.890906] *** 鎖死 *** [82.890906] [..... 為簡潔起見,已移除其他資訊....] Example setup (eth0->eth0) to recreate tc qdisc add dev eth0 root handle 1: htb default 30 tc filter add dev eth0 handle 1: protocol ip prio 2 matchall \ action mirred egress redirect dev eth0 Another example(eth0->eth1->eth0) to recreate tc qdisc add dev eth0 root handle 1: htb default 30 tc filter add dev eth0 handle 1: protocol ip prio 2 matchall \ action mirred egress redirect dev eth1 tc qdisc add dev eth1 root handle 1: htb default 30 tc filter add dev eth1 handle 1: protocol ip prio 2 matchall \ action mirred egress redirect dev eth0 我們透過下列方式修正此弱點:輸入 root qdisc 後,將擁有者欄位 (CPU id) 新增至結構 Qdisc 集。當 softirq 第二次進入時,如果 qdisc 擁有者是同一個 CPU,則會捨棄封包以中斷迴圈。(CVE-2024-27010)

- 現已解決 Linux 核心中的下列弱點:tty:n_gsm:修正 gsm0_receive() 中可能存在的超出邊界問題。假設下列情形:- A 側在基本選項模式下設定 n_gsm - B 側傳送資料長度為 1 的基本選項模式框架標頭 - A 側切換至進階選項模式
- B 側傳送 2 個資料位元組,超出 gsm->len 原因:進階選項模式中未使用 gsm->len。- A 側切換至基本選項模式 - B 側會持續傳送,直到 gsm0_receive() 寫入越過 gsm->buf 原因:重新設定後,未重新設定 gsm->state 和 gsm->len。透過將 gsm->count 與 gsm->len 的比較值從等於變更為小於來修正此問題。此外,針對 gsm0_receive() 和 gsm1_receive() 中的 MAX_MRU 常數新增上限檢查,以加強防範 gsm->len 和 gsm->mru 導致記憶體損毀的情況。所有其他檢查仍保留不變,因為我們仍需根據使用者設定和實際承載大小來限制資料。(CVE-2024-36016)

- 現已解決 Linux 核心中的下列弱點:rtnetlink:更正巢狀 IFLA_VF_VLAN_LIST 屬性驗證 假設巢狀 IFLA_VF_VLAN_LIST 中的每個屬性皆為 ifla_vf_vlan_info 結構體,則此屬性的大小必須至少為 sizeof(struct ifla_vf_vlan_info),即 14 個位元組。do_setvfinfo 中目前的大小驗證是針對小於 sizeof(struct ifla_vf_vlan_info) 的 NLA_HDRLEN (4 位元組),因此此驗證並不足夠,而且太小的屬性可能會轉換為 ifla_vf_vlan_info 結構體,這可能會導致存取 ivvl 中已儲存 (已轉換) 的項目時發生超出範圍讀取。(CVE-2024-36017)

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

解決方案

更新 CentOS 9 Stream bpftool 套件。

另請參閱

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

Plugin 詳細資訊

嚴重性: High

ID: 202393

檔案名稱: centos9_kernel-5_14_0-479_65628.nasl

版本: 1.2

類型: local

代理程式: unix

已發布: 2024/7/15

已更新: 2025/1/15

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

風險資訊

VPR

風險因素: Medium

分數: 6.7

CVSS v2

風險因素: Medium

基本分數: 6.8

時間性分數: 5

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

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

CVSS v3

風險因素: High

基本分數: 7.8

時間性分數: 6.8

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

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

弱點資訊

CPE: 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-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, 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-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-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-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-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, p-cpe:/a:centos:centos:kernel-uki-virt

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

可輕鬆利用: No known exploits are available

修補程式發佈日期: 2024/7/11

弱點發布日期: 2024/4/27

參考資訊

CVE: CVE-2021-47459, CVE-2024-27010, CVE-2024-36016, CVE-2024-36017, CVE-2024-36244