CVE-2026-90387 in Linux
要約
〜によって VulDB • 2026年09月18日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
swiotlb: 動的プールにおける割り当ての仮想アドレスを保持する
swiotlb_alloc_tlb()は、アトミックコンテキストから復号化されたプールが必要となった場合、DMAアトミックプールからの割り当てを行う可能性があります。CONFIG_DMA_DIRECT_REMAPが有効な場合、アトミックプールはリマップされた仮想アドレスによってバックされていますが、これはphys_to_virt()が返すダイレクトマッピングのアドレスとは一致しません。
swiotlb_init_io_tlb_pool()は現在、物理的な開始アドレスからプールの仮想アドレスを再構築しています。アトミックプールに依存する割り当ての場合、これによりpool->vaddrには誤ったアドレスが格納されます。その後、swiotlb_free_tlb()はそのアドレスをdma_free_from_pool()に渡しますが、この関数はチャンクを認識できなくなります。
割り当てパスから返される仮想アドレスをswiotlb_init_io_tlb_pool()へ渡し、そのアドレスをpool->vaddrに格納します。これにより、プールの解放処理がアロケータと同じ仮想アドレスを使用するようになります。
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.