CentOS 9 : kernel-5.14.0-437.el9

low Nessus プラグイン ID 193925

概要

リモートの CentOS ホストに 1 つ以上の bpftool 用セキュリティ更新プログラムがありません。

説明

リモートの CentOS Linux 9 ホストに、kernel-5.14.0-437.el9 ビルド変更ログに記載されている複数の脆弱性の影響を受けるパッケージがインストールされています。

- Linux カーネルでは、次の脆弱性が解決されています。mm/sparsemem: memory_section->usage へのアクセス競合を修正します。以下の競合は、PFN が [ZONE_NORMAL ZONE_DEVICE ZONE_NORMAL] である場合に、実行するシステムメモリ構成のデバイスメモリ領域に該当する PFN で観察されます。通常のゾーンの開始および終了 pfn にはデバイスメモリ PFN も含まれているため、トリガーされたコンパクションはデバイスメモリ PFN でも試行しますが、これらは NOP になります (pfn_to_online_page() が ZONE_DEVICE メモリセクションに対して NULL を返すため)。問題の PFN が属する ZONE_DEVICE 領域のセクションマッピングが他のコアから削除される場合、コンパクションが現在操作されているため、CONFIG_SPASEMEM_VMEMAP が有効な状態でカーネルクラッシュを引き起こします。クラッシュログは [1] で確認できます。
compact_zone() memunmap_pages ------------- --------------- __pageblock_pfn_to_page ...... (a)pfn_valid():
valid_section()//return true (b)__remove_pages()-> sparse_remove_section()->section_deactivate(): [ms->usage 配列を解放し、ms->usage = NULL を設定] pfn_section_valid() [Access ms->usage これは NULL です] 注意:
以上のことから、競合は pfn_valid()/pfn_section_valid() の間に縮小され、SPASEMEM_VMEMAP を有効にしてセクションが無効化されたと言えます。コミット b943f045a9af (mm/sparse: pfn_section_valid チェックでカーネルクラッシュを修正) は、valid_section() が false を返すことを期待して SECTION_HAS_MEM_MAP をクリアすることで、同じ問題に対処しようとしました。このため、ms->usage はアクセスされません。以下の手順でこの問題を修正します。a) ->usage を解放する前に、SECTION_HAS_MEM_MAP を消去します。b) RCU で保護された読み取り側のクリティカルセクションは、SECTION_HAS_MEM_MAP がクリアされる際に NULL を返すか、アクセス ->usage に成功します。c) kfree_rcu() で ->usage を解放し、ms->usage = NULL を設定します。SECTION_HAS_MEM_MAP がクリアされ、valid_section() は false を返すため、これ以降は、access ->usage にアクセスする試みは行われません。このパッチに情報を提供してくれた David/Pavan 氏に感謝します。[1] https://lore.kernel.org/linux-mm/[email protected]/ 前述の PFN のメモリ構成を [ZONE_NORMAL ZONE_DEVICE ZONE_NORMAL] とする Snapdragon SoC では、デバイスファームでのテスト中に、毎日多数の問題を確認することができます。この特定の問題については、以下にログがあります。以下のログは pfn_section_valid(){ ms->usage;} を直接指し示していませんが、このダンプを T32 lauterbach ツールに読み込んだときには、それを指し示しています。[ 540.578056] 仮想アドレス 0000000000000000 のカーネル NULL ポインターデリファレンスを処理できません [ 540.578068] メモリ中止情報: [ 540.578070] ESR = 0x0000000096000005 [ 540.578073] EC = 0x25: DABT (現在の EL)、IL = 32 ビット [ 540.578077] SET = 0、FnV = 0 [ 540.578080] EA = 0、S1PTW = 0 [540.578082] FSC = 0x05: レベル 1 変換障害 [ 540.578085] データ中止情報: [ 540.578086] ISV = 0、ISS = 0x00000005 [ 540.578088] CM = 0、WnR = 0 [ 540.579431] pstate: 82400005 (Nzcv daif +PAN -UAO +TCO
-DIT -SSBSBTYPE=--) [ 540.579436] pc : __pageblock_pfn_to_page+0x6c/0x14c [ 540.579454] lr :
compact_zone+0x994/0x1058 [ 540.579460] sp : ffffffc03579b510 [ 540.579463] x29: ffffffc03579b510 x28:
0000000000235800 x27:000000000000000c [ 540.579470] x26: 0000000000235c00 x25: 0000000000000068 x24:ffffffc03579b640 [ 540.579477] x23: 0000000000000001 x22: ffffffc03579b660 x21:0000000000000000 [540.579483] x20: 0000000000235bff x19: ffffffdebf7e3940 x18:ffffffdebf66d140 [ 540.579489] x17:
00000000739ba063 x16: 00000000739ba063 x15:00000000009f4bff [ 540.579495] x14: 0000008000000000 x13:
0000000000000000 x12:0000000000000001 [ 540.579501] x11: 0000000000000000 x10: 0000000000000000 x9 :ffffff897d2cd440 [ 540.579507] x8 : 0000000000000000 x7 : 0000000000000000 x6 :ffffffc03579b5b4 [540.579512] x5 : 0000000000027f25 x4 : ffffffc03579b5b8 x3 :0000000000000 ---truncated--- (CVE-2023-52489)

- Linux カーネルで、次の脆弱性が解決されています。net: usb: smsc75xx: __smsc75xx_read_reg の初期化されていない値のアクセスを修正します。syzbot は、値が初期化されていない次のアクセスの問題を報告しました。
===================================================== BUG: KMSAN: uninit-value in smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:975 での未初期化値 [inline] BUG: KMSAN: smsc75xx_bind+0x5c9/0x11e0 drivers/net/usb/smsc75xx.c:1482 での未初期化値 CPU: 0 PID: 8696 Comm: kworker/0:3 汚染されていない 5.8.0-rc5-syzkaller #0 ハードウェア名: Google Google Compute Engine/Google Compute Engine、BIOS Google 01/01/2011 Workqueue:
usb_hub_wq hub_event 呼び出しトレース: __dump_stack lib/dump_stack.c:77 [inline] dump_stack+0x21c/0x280 lib/dump_stack.c:118 kmsan_report+0xf7/0x1e0 mm/kmsan/kmsan_report.c:121 __msan_warning+0x58/0xa0 mm/kmsan/kmsan_instr.c:215 smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:975 [inline] smsc75xx_bind+0x5c9/0x11e0 drivers/net/usb/smsc75xx.c:1482 usbnet_probe+0x1152/0x3f90 drivers/net/usb/usbnet.c:1737 usb_probe_interface+0xece/0x1550 drivers/usb/core/driver.c:374 really_probe+0xf20/0x20b0 drivers/base/dd.c:529 driver_probe_device+0x293/0x390 drivers/base/dd.c:701
__device_attach_driver+0x63f/0x830 drivers/base/dd.c:807 bus_for_each_drv+0x2ca/0x3f0 drivers/base/bus.c:431 __device_attach+0x4e2/0x7f0 drivers/base/dd.c:873 device_initial_probe+0x4a/0x60 drivers/base/dd.c:920 bus_probe_device+0x177/0x3d0 drivers/base/bus.c:491 device_add+0x3b0e/0x40d0 drivers/base/core.c:2680 usb_set_configuration+0x380f/0x3f10 drivers/usb/core/message.c:2032 usb_generic_driver_probe+0x138/0x300 drivers/usb/core/generic.c:241 usb_probe_device+0x311/0x490 drivers/usb/core/driver.c:272 really_probe+0xf20/0x20b0 drivers/base/dd.c:529 driver_probe_device+0x293/0x390 drivers/base/dd.c:701 __device_attach_driver+0x63f/0x830 drivers/base/dd.c:807 bus_for_each_drv+0x2ca/0x3f0 drivers/base/bus.c:431 __device_attach+0x4e2/0x7f0 drivers/base/dd.c:873 device_initial_probe+0x4a/0x60 drivers/base/dd.c:920 bus_probe_device+0x177/0x3d0 drivers/base/bus.c:491 device_add+0x3b0e/0x40d0 drivers/base/core.c:2680 usb_new_device+0x1bd4/0x2a30 drivers/usb/core/hub.c:2554 hub_port_connect drivers/usb/core/hub.c:5208 [inline] hub_port_connect_change drivers/usb/core/hub.c:5348 [inline] port_event drivers/usb/core/hub.c:5494 [inline] hub_event+0x5e7b/0x8a70 drivers/usb/core/hub.c:5576 process_one_work+0x1688/0x2140 kernel/workqueue.c:2269 worker_thread+0x10bc/0x2730 kernel/workqueue.c:2415 kthread+0x551/0x590 kernel/kthread.c:292 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:293 Local variable ----buf.i87@smsc75xx_bind 作成元:
__smsc75xx_read_reg drivers/net/usb/smsc75xx.c:83 [inline] smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:968 [inline] smsc75xx_bind+0x485/0x11e0 drivers/net/usb/smsc75xx.c:1482
__smsc75xx_read_reg drivers/net/usb/smsc75xx.c:83 [inline] smsc75xx_wait_ready drivers/net/usb/smsc75xx.c:968 [inline] smsc75xx_bind+0x485/0x11e0 drivers/net/usb/smsc75xx.c:1482 この問題は、usbnet_read_cmd() が読み取るバイトがリクエストよりも少ないために発生します (再生装置でのゼロバイト)。
この場合、「buf」が適切に入力されていません。このパッチは、usbnet_read_cmd() が読み取るバイト数がリクエストより少ない場合に -ENODATA を返すことで、この問題を修正します。(CVE-2023-52528)

Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。

ソリューション

CentOS 9 Stream bpftool パッケージを更新してください。

参考資料

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

プラグインの詳細

深刻度: Low

ID: 193925

ファイル名: centos9_kernel-5_14_0-437_60487.nasl

バージョン: 1.0

タイプ: local

エージェント: unix

公開日: 2024/4/26

更新日: 2024/4/26

サポートされているセンサー: Agentless Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Frictionless Assessment Azure, Nessus

リスク情報

VPR

リスクファクター: Medium

スコア: 4.4

CVSS v2

リスクファクター: Low

基本値: 3.6

現状値: 2.7

ベクトル: CVSS2#AV:L/AC:L/Au:N/C:N/I:P/A:P

CVSS スコアのソース: CVE-2023-52528

CVSS v3

リスクファクター: Low

基本値: 3.5

現状値: 3.1

ベクトル: CVSS:3.0/AV:P/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L

現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C

脆弱性情報

CPE: cpe:/a:centos:centos:9, p-cpe:/a:centos:centos:bpftool, p-cpe:/a:centos:centos:kernel, p-cpe:/a:centos:centos:kernel-64k, p-cpe:/a:centos:centos:kernel-64k-core, p-cpe:/a:centos:centos:kernel-64k-debug, p-cpe:/a:centos:centos:kernel-64k-debug-core, p-cpe:/a:centos:centos:kernel-64k-debug-devel, p-cpe:/a:centos:centos:kernel-64k-debug-devel-matched, p-cpe:/a:centos:centos:kernel-64k-debug-modules, p-cpe:/a:centos:centos:kernel-64k-debug-modules-core, p-cpe:/a:centos:centos:kernel-64k-debug-modules-extra, p-cpe:/a:centos:centos:kernel-64k-debug-modules-internal, p-cpe:/a:centos:centos:kernel-64k-debug-modules-partner, p-cpe:/a:centos:centos:kernel-64k-devel, p-cpe:/a:centos:centos:kernel-64k-devel-matched, p-cpe:/a:centos:centos:kernel-64k-modules, p-cpe:/a:centos:centos:kernel-64k-modules-core, p-cpe:/a:centos:centos:kernel-64k-modules-extra, p-cpe:/a:centos:centos:kernel-64k-modules-internal, p-cpe:/a:centos:centos:kernel-64k-modules-partner, p-cpe:/a:centos:centos:kernel-abi-stablelists, p-cpe:/a:centos:centos:kernel-core, p-cpe:/a:centos:centos:kernel-rt-debug-core, p-cpe:/a:centos:centos:kernel-rt-debug-devel, p-cpe:/a:centos:centos:kernel-rt-debug-devel-matched, p-cpe:/a:centos:centos:kernel-rt-debug-kvm, p-cpe:/a:centos:centos:kernel-rt-debug-modules, p-cpe:/a:centos:centos:kernel-rt-debug-modules-core, p-cpe:/a:centos:centos:kernel-rt-debug-modules-extra, p-cpe:/a:centos:centos:kernel-rt-debug-modules-internal, p-cpe:/a:centos:centos:kernel-rt-debug-modules-partner, p-cpe:/a:centos:centos:kernel-rt-devel, p-cpe:/a:centos:centos:kernel-rt-devel-matched, p-cpe:/a:centos:centos:kernel-rt-kvm, p-cpe:/a:centos:centos:kernel-rt-modules, p-cpe:/a:centos:centos:kernel-rt-modules-core, p-cpe:/a:centos:centos:kernel-rt-modules-extra, p-cpe:/a:centos:centos:kernel-rt-modules-internal, p-cpe:/a:centos:centos:kernel-rt-modules-partner, p-cpe:/a:centos:centos:kernel-selftests-internal, p-cpe:/a:centos:centos:kernel-tools, p-cpe:/a:centos:centos:kernel-tools-libs, p-cpe:/a:centos:centos:kernel-tools-libs-devel, p-cpe:/a:centos:centos:kernel-uki-virt, p-cpe:/a:centos:centos:kernel-zfcpdump, p-cpe:/a:centos:centos:kernel-zfcpdump-core, p-cpe:/a:centos:centos:kernel-zfcpdump-devel, p-cpe:/a:centos:centos:kernel-zfcpdump-devel-matched, p-cpe:/a:centos:centos:kernel-zfcpdump-modules, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-core, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-extra, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-internal, p-cpe:/a:centos:centos:kernel-zfcpdump-modules-partner, p-cpe:/a:centos:centos:libperf, p-cpe:/a:centos:centos:libperf-devel, p-cpe:/a:centos:centos:kernel-cross-headers, p-cpe:/a:centos:centos:kernel-debug, p-cpe:/a:centos:centos:kernel-debug-core, p-cpe:/a:centos:centos:kernel-debug-devel, p-cpe:/a:centos:centos:kernel-debug-devel-matched, p-cpe:/a:centos:centos:kernel-debug-modules, p-cpe:/a:centos:centos:kernel-debug-modules-core, p-cpe:/a:centos:centos:kernel-debug-modules-extra, p-cpe:/a:centos:centos:kernel-debug-modules-internal, p-cpe:/a:centos:centos:kernel-debug-modules-partner, p-cpe:/a:centos:centos:kernel-debug-uki-virt, p-cpe:/a:centos:centos:kernel-devel, p-cpe:/a:centos:centos:kernel-devel-matched, p-cpe:/a:centos:centos:kernel-headers, p-cpe:/a:centos:centos:kernel-ipaclones-internal, p-cpe:/a:centos:centos:kernel-modules, p-cpe:/a:centos:centos:kernel-modules-core, p-cpe:/a:centos:centos:kernel-modules-extra, p-cpe:/a:centos:centos:kernel-modules-internal, p-cpe:/a:centos:centos:kernel-modules-partner, p-cpe:/a:centos:centos:kernel-rt, p-cpe:/a:centos:centos:kernel-rt-core, p-cpe:/a:centos:centos:kernel-rt-debug, p-cpe:/a:centos:centos:perf, p-cpe:/a:centos:centos:python3-perf, p-cpe:/a:centos:centos:rtla, p-cpe:/a:centos:centos:rv

必要な KB アイテム: Host/local_checks_enabled, Host/CentOS/release, Host/CentOS/rpm-list, Host/cpu

エクスプロイトの容易さ: No known exploits are available

パッチ公開日: 2024/4/9

脆弱性公開日: 2024/3/2

参照情報

CVE: CVE-2023-52489, CVE-2023-52528