CVE-2022-50636 in Linux情報

要約

〜によって VulDB • 2026年05月16日

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

PCI: VFsに対してpci_device_is_present()をPFの確認により修正

pci_device_is_present()は以前、VFに対して正しく動作していませんでした。これは、VFではベンダーIDとデバイスIDが0xffffであり、これが「存在しない」と見なされていたためです。代わりにPFを確認するようにしました。

Wei Gong氏から、ドライバのアンバインド時、または/sys/.../sriov_numvfsに「0」が書き込まれた際にvirtio I/O処理が進行中だと、virtio I/O操作がハングアップし、以下のような出力が発生する可能性があるとの報告がありました。

task:bash state:D stack: 0 pid: 1773 ppid: 1241 flags:0x00004002 Call Trace: schedule+0x4f/0xc0 blk_mq_freeze_queue_wait+0x69/0xa0 blk_mq_freeze_queue+0x1b/0x20 blk_cleanup_queue+0x3d/0xd0 virtblk_remove+0x3c/0xb0 [virtio_blk]
virtio_dev_remove+0x4b/0x80 ... device_unregister+0x1b/0x60 unregister_virtio_device+0x18/0x30 virtio_pci_remove+0x41/0x80 pci_device_remove+0x3e/0xb0

これは、virtio_pci_remove()内でpci_device_is_present(VF)が「false」を返したため、virtio_break_device()が呼び出されたことが原因でした。破損したvqにより、vring_interrupt()はvirtblk_done()を介してvirtio I/O操作を完了させるはずだったvq.callback()をスキップしてしまいました。

[bhelgaas: コミットログ、常にpci_physfn()を使用するように簡略化、stableタグ追加]

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2025年12月09日

モデレーション

承諾済み

エントリ

VDB-334882

EPSS

0.00184

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!