CVE-2026-80651 in Linux
요약
\~에 의해 VulDB • 2026. 08. 28.
리눅스 커널에서 다음 취약점이 해결되었습니다:
crypto: ccp/sev-dev-tsm - pdev->bus가 NULL인 경우 조기에 종료(die/bail out)
dsm_create()는 segment_id를 계산할 때 처음에 pdev->bus를 확인합니다: u8 segment_id = pdev->bus ? pci_domain_nr(pdev->bus) : 0;
하지만 다음 두 줄은 pcie_find_root_port()와 특히 PCI_DEVID(dev->bus->number, dev->devfn)로 확장되는 pci_dev_id(pdev)를 통해 pdev->bus를 무조건적으로 역참조(dereference)합니다. 만약 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 설정을 진행할 수 없으므로, 버스(bus) 의존적 조회 전에 -ENODEV를 반환합니다. 나머지 초기화 코드는 이제 pdev->bus가 유효함이 보장되는 경로에서만 실행됩니다.
pdev->bus가 NULL이 아닌 호출자에게는 변경 사항이 없습니다. 이는 이 변경 이전까지 dsm_create()가 의미 있는 작업을 수행했던 유일한 경우입니다.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.