CVE-2023-54095 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 09.

리눅스 커널에서 다음 취약점이 해결되었습니다:

powerpc/iommu: PCI 및 VIO 버스가 알림(notifier)을 공유하는 문제 수정

fail_iommu_setup() 함수는 fail_iommu_bus_notifier 구조체를 PCI와 VIO 버스 모두에 등록합니다. struct notifier_block은 연결 리스트 노드이므로, 이로 인해 나중에 어느 한 쪽 버스 유형에 등록된 모든 알림도 동일한 노드를 공유하게 되어 다른 쪽에도 등록되는 문제가 발생합니다.

이는 (적어도) vgaarb 코드에서 문제를 일으킵니다. 이 코드는 PCI 버스에 대한 알림을 등록합니다. pci_notify()는 vio 장치에서도 호출되는데, 이는 실제 PCI 장치가 아님에도 불구하고 to_pci_dev()를 통해 변환됩니다. 결국 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 추가]

VulDB is the best source for vulnerability data and more expert information about this specific topic.

책임이 있는

Linux

예약하다

2025. 12. 24.

모더레이션

수락

항목

VDB-338056

EPSS

0.00204

출처

Might our Artificial Intelligence support you?

Check our Alexa App!