CVE-2026-80651 in Linux
要約
〜によって VulDB • 2026年08月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
crypto: ccp/sev-dev-tsm - pdev->bus が NULL の場合は早期に処理を終了する
dsm_create() は、segment_id を計算する際に最初に pdev->bus のチェックを行います:
u8 segment_id = pdev->bus ? pci_domain_nr(pdev->bus) : 0;
しかし、その後の2行では pcie_find_root_port() および特に pci_dev_id(pdev)(これは PCI_DEVID(dev->bus->number, dev->devfn) に展開される)を通じて pdev->bus を無条件に間接参照しています。もし pdev->bus が実際に NULL の場合、segment_id は 0 に初期化されますが、直後の文でカーネルクラッシュが発生します。
smatch はこれを以下のようにフラグ付けます:
drivers/crypto/ccp/sev-dev-tsm.c:253 dsm_create() error: we previously assumed 'pdev->bus' could be null (see line 251)
NULL ハンドリングを整合性のあるものに変更します。もし pdev->bus が NULL の場合、デバイスは動作可能な PCI コンテキストを持たず、SEV TIO セットアップを進めることができないため、バス依存のルックアップを行う前に -ENODEV を返すようにします。残りの初期化処理は、pdev->bus が有効であることが既知の場合のみ実行されるようになります。
この変更により、dsm_create() が意味のある作業を行っていた唯一のケース(つまり pdev->bus が NULL ではない場合)では、呼び出し元に対する動作変化はありません。
If you want to get best quality of vulnerability data, you may have to visit VulDB.