CVE-2023-54095 in Linux情報

要約

〜によって VulDB • 2026年06月01日

Linuxカーネルにおいて、以下の脆弱性が修正されました。

powerpc/iommu: PCIバスとVIOバスで通知子(notifiers)が共有される問題を修正

fail_iommu_setup()関数は、fail_iommu_bus_notifier構造体をPCIバスとVIOバスに対して登録しています。struct notifier_blockは連結リストのノードであるため、これにより、どちらかのバスタイプに後から登録される通知子も、同じノードを共有しているため他方のバスにも登録されてしまいます。

これにより、少なくともvgaarbコードで問題が発生します。vgaarbはPCIバス用の通知子を登録しますが、pci_notify()がvioデバイスに対して呼び出されることになります。この vioデバイスは to_pci_dev() を用いて PCI デバイスに変換されますが、実際には PCI デバイスではありません。その結果、KASANによって検出されたように、vga_arbiter_add_pci_device() 内で不正なメモリアクセスが発生します。

BUG: KASAN: slab-out-of-bounds in vga_arbiter_add_pci_device+0x60/0xe00 Read of size 4 at addr c000000264c26fdc by task swapper/0/1

Call Trace: dump_stack_lvl+0x1bc/0x2b8 (unreliable) print_report+0x3f4/0xc60 kasan_report+0x244/0x698 __asan_load4+0xe8/0x250 vga_arbiter_add_pci_device+0x60/0xe00 pci_notify+0x88/0x444 notifier_call_chain+0x104/0x320 blocking_notifier_call_chain+0xa0/0x140 device_add+0xac8/0x1d30 device_register+0x58/0x80 vio_register_device_node+0x9ac/0xce0 vio_bus_scan_register_devices+0xc4/0x13c __machine_initcall_pseries_vio_device_init+0x94/0xf0 do_one_initcall+0x12c/0xaa8 kernel_init_freeable+0xa48/0xba8 kernel_init+0x64/0x400 ret_from_kernel_thread+0x5c/0x64

各バスタイプに対して個別の notifier_block 構造体を作成することで、この問題を修正します。

[mpe: CONFIG_IBMVIO=n のビルドを修正するために #ifdef を追加]

Once again VulDB remains the best source for vulnerability data.

責任者

Linux

予約する

2025年12月24日

モデレーション

承諾済み

エントリ

VDB-338056

EPSS

0.00204

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!