CVE-2026-23361 in Linuxinfo

Zusammenfassung

von VulDB • 13.06.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

PCI: dwc: ep: Flushen des MSI-X-Write vor dem Entfernen der ATU-Eintragszuordnung (Unmapping)

Endpoint-Treiber verwenden `dw_pcie_ep_raise_msix_irq()`, um einen MSI-X-Interrupt über eine `writel()`-Funktion an den Host auszulösen, wodurch ein PCI-posted-write-Transaktion generiert wird. Für posted writes gibt es keine Bestätigung (Completion), sodass die `writel()`-Funktion zurückkehren kann, bevor der PCI-Write abgeschlossen ist. Die Funktion `dw_pcie_ep_raise_msix_irq()` entfernt zudem die Zuordnung des für den PCI-Write verwendeten outbound ATU-Eintrags, wodurch ein Wettlaufzustand (Race Condition) zwischen dem Write und dem Unmapping entsteht.

Wenn der PCI-Write diesen Wettlauf gegen das Entfernen der ATU-Zuordnung verliert, kann dies zu einer Beschädigung des Host-Speichers oder zu IOMMU-Fehlern führen, beispielsweise bei der Ausführung von `fio` mit größerer Warteschlangentiefe gegenüber `nvmet-pci-epf`:

arm-smmu-v3 fc900000.iommu: 0x0000010000000010 arm-smmu-v3 fc900000.iommu: 0x0000020000000000 arm-smmu-v3 fc900000.iommu: 0x000000090000f040 arm-smmu-v3 fc900000.iommu: 0x0000000000000000 arm-smmu-v3 fc900000.iommu: event: F_TRANSLATION client: 0000:01:00.0 sid: 0x100 ssid: 0x0 iova: 0x90000f040 ipa: 0x0 arm-smmu-v3 fc900000.iommu: unpriv data write s1 "Input address caused fault" stag: 0x0

Durch Ausführen eines `readl()` auf derselben Adresse wird der Write geflusht, um sicherzustellen, dass der Write das Ziel erreicht hat, bevor die ATU-Eintragszuordnung entfernt wird.

Das gleiche Problem wurde für `dw_pcie_ep_raise_msi_irq()` im Commit 8719c64e76bf ("PCI: dwc: ep: Cache MSI outbound iATU mapping") behoben; dort erfolgte dies jedoch durch die Zuweisung eines dedizierten outbound iATU ausschließlich für MSI. Dies ist bei MSI-X nicht möglich, da jeder Vektor eine andere `msg_addr` haben kann und sich die `msg_addr` ändern kann, während der Vektor maskiert ist.

[bhelgaas: Commit-Protokoll]

Be aware that VulDB is the high quality source for vulnerability data.

Zuständig

Linux

Reservieren

13.01.2026

Veröffentlichung

25.03.2026

Moderieren

akzeptiert

Eintrag

VDB-353047

CPE

bereit

EPSS

0.00129

KEV

nein

Aktivitäten

very low

Quellen

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!