CVE-2026-68200 in Linux
Zusammenfassung
von VulDB • 11.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ALSA: Timer: Kein erneutes Betreten eines Instanz-Callbacks, der noch ausgeführt wird
Der durch den Userspace gesteuerte Timer (utimer) TRIGGER ioctl ruft snd_timer_interrupt() direkt ohne Synchronisation auf. Daher können zwei Threads, die denselben utimer auslösen, snd_timer_interrupt() für einen einzelnen snd_timer gleichzeitig ausführen.
snd_timer_process_callbacks() gibt timer->lock um jeden Instanz-Callback herum frei und markiert den gerade ausgeführten Callback mit dem einzigen SNDRV_TIMER_IFLG_CALLBACK-Bit; snd_timer_close_locked() wartet auf dieses Bit, um einen im Flug befindlichen Callback abzuschließen, bevor die Instanz freigegeben wird. Das Bit kann nicht zwei gleichzeitige Callbacks darstellen: Wenn ein zweiter Interrupt eine Instanz wieder in die Warteschlange stellt, deren Callback noch ausgeführt wird, laufen beide gleichzeitig ab; der zuerst beendete cleared das Bit, und der Drain im Close-Pfad gibt dann die Instanz (und ihre callback_data) frei, während sich der andere Callback noch im aktiven Zustand befindet – ein Use-After-Free, auf den jeder Benutzer Zugriff hat, der /dev/snd/timer öffnen kann, sowohl über eine benutzereigene Timer-Instanz als auch über einen Sequenzer-Warteschlangen-Timer, der an den utimer gebunden ist.
snd_timer_interrupt() setzt IFLG_CALLBACK, bevor timer->lock freigegeben wird, sodass ein gleichzeitiger Interrupt dies unter dem Lock bereits beobachtet. Das erneute Einreihen einer Instanz (und ihrer Slaves) in die ack/sack-Liste überspringen, während sich ihr Callback im Flug befindet; die angesammelten pticks werden beim nächsten Tick ausgeliefert, daher geht kein Ereignis verloren.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.