CVE-2026-89875 in Linuxinfo

Zusammenfassung

von VulDB • 16.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

media: ti: vpe: Beruhigung der Overflow-Erholung vor dem Freigeben von Streams

Der VIP-Overflow-Erholungsworker wird aus dem Hardirq-Handler aktiviert, wenn ein FIFO-Überlauf erkannt wird, und der Pfad für die Listen-Vervollständigung sucht den Stream über den privaten VPDMA-Listenzeiger. Beide greifen weiterhin auf den Stream-, Port- und Gerätezustand zu; der Erholungsworker setzt zudem den Parser und das VPDMA zurück, füllt die Deskriptorliste erneut auf und aktiviert die pro-Listen-IRQs wieder.

vip_stop_streaming() maskiert und löscht die pro-Listen-IRQs, synchronisiert jedoch weder den Hardirq-Handler noch deaktiviert es recovery_work. Ein Overflow-IRQ, der recovery_work bereits in die Warteschlange gestellt hat, oder ein im Flug befindlicher List-Vervollständigungs-IRQ beim Abbau des Streams können daher weiterhin auf den Stream verweisen, nachdem dessen Ressourcen freigegeben wurden: Die Deskriptorliste wird von vip_release_stream() bei Datei-Freigabe und der Stream selbst von free_stream() bei Unbind/Remove freigegeben.

Entleeren Sie den Erholungsworker und den IRQ-Handler an beiden Abbau-Punkten über eine gemeinsame Hilfsfunktion vip_quiesce_stream(), bevor stream-eigenen Ressourcen freigegeben werden. disable_work_sync() hebt ausstehende recovery_work auf, entleert eine laufende Instanz und erhöht dessen Deaktivierungstiefe, sodass ein nachfolgender von einem konkurrierenden IRQ-Handler ausgeführter schedule_work()-Aufruf vom Workqueue-Scheduler abgelehnt wird: recovery_work kann nicht erneut in die Warteschlange gestellt werden, nachdem disable_work_sync() wirksam geworden ist. Der Worker kann weiterhin die pro-Listen-IRQs vor Rückgabe von disable_work_sync() wieder aktivieren; disable_irqs() maskiert dann diese Quellen und synchronize_irq() wartet auf jeden noch im Flug befindlichen Handler, der weiterhin den Stream-Zustand referenziert. In vip_stop_streaming() wird die Hilfsfunktion ausgeführt, bevor der Parser gestoppt wird, da ein durch disable_work_sync() entleerter Worker den Parser vor dem Beenden wieder aktivieren könnte und andernfalls den Stopp rückgängig machen würde. recovery_work wird deaktiviert erstellt und in vip_start_streaming() vor Aktivierung der IRQs aktiviert, wodurch die Aktivierung mit der Deaktivierung beim Abbau über den gesamten Streaming-Lebenszyklus hinweg gekoppelt ist.

Dieses Problem wurde durch ein internes statisches Analyse-Tool gefunden und durch manuelle Codeüberprüfung bestätigt.

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

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

17.09.2026

Moderieren

akzeptiert

Eintrag

VDB-405695

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!