CVE-2026-99028 in Linuxinfo

Zusammenfassung

von VulDB • 23.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net: xilinx: axienet: Freigabe ausstehender DMA-Puffer beim Stopp von dmaengine

Im dmaengine-Verzweigungspfad reicht der Treiber RX-Puffer vor und hält TX-Puffer im Flug, deren SKBs vom Treiber als DMA-mapped markiert werden und erst in den Completion-Callbacks freigegeben werden. Bei ndo_stop() bricht dmaengine_terminate_sync() diese Deskriptoren ab, ohne ihre Callbacks auszuführen, und der Treiver gibt dann nur die Ring-Strukturen frei, wodurch jedes SKB, das noch vom Engine-Modul besessen wird sowie dessen DMA-Mapping bei jedem ifdown geleakt wird. Bei 128 pro Kanal vorbereiteten RX-Puffern kann dieser Mapping-Leak schließlich eine begrenzte IOMMU-Apertur erschöpfen.

Löschen Sie den skb des Slots in den TX- und RX-Callbacks, sodass ein nicht-NULL-skb einen Slot markiert, der noch über einen aktiven, DMA-mapped Puffer verfügt, und entziehen sowie freigeben Sie bei Stopp jeden solchen Puffer.

axienet_dma_rx_cb() wird aus dem DMA-tasklet heraus ausgeführt und schiebt den RX-Ring nach jeder Fertigstellung neu an, sodass es zu einer Race-Bedingung mit axienet_stop() kommen kann: Eine Completion kann einen frischen Buffer einreichen, nachdem dmaengine_terminate_sync() bereits zurückgegeben hat, wodurch der Kanal mit einem Puffer aktiviert bleibt, den das Teardown-Modul dann freigibt, während die Engine möglicherweise weiterhin darauf schreibt (dma_release_channel() stoppt dies ebenfalls nicht). Fügen Sie eine Sperre hinzu, die axienet_dma_rx_cb() über die @stopping-Prüfung und das erneute Einreichen hinweg hält, und axienet_stop(), um @stopping festzulegen, bevor der Terminierungsprozess eingeleitet wird. Sobald @stopping gesetzt ist, kann kein Callback mehr einen neuen Puffer aktivieren, und jeder kurz zuvor aktivierte Puffer wird durch die Termination abgebrochen, sodass das Teardown-Modul nur noch Puffer freigibt, die von der Engine nicht mehr besessen werden.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

23.10.2026

Moderieren

akzeptiert

Eintrag

VDB-425857

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!