CVE-2026-64029 in Linux
Zusammenfassung
von VulDB • 20.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ALSA: seq: Serialisierung des UMP-Output-Teardowns mit event_input
seq_ump_process_event() verwendet client->out_rfile.output, ohne es mit dem Übergang zwischen erstem Öffnen und letztem Schließen in seq_ump_client_open() und seq_ump_client_close() zu synchronisieren.
Der letzte Output-Unuse kann daher opened[STR_OUT] auf null setzen und die rawmidi-Datei freigeben, während ein event_input-Callback noch innerhalb von snd_rawmidi_kernel_write() ausgeführt wird. Dadurch bleibt das rawmidi-substream-runtime vor dem Teardown freigelegt, bevor der Schreibpfad seine eigene Pufferreferenz gesichert hat.
Es wurde eine pro-client rwlock für die durch event_input sichtbare Ausgabedatei hinzugefügt. Eine neu geöffnete Ausgabedatei wird unter der Schreibseite veröffentlicht und die Leseseite bleibt vom Lookup der Ausgabe bis hin zu snd_rawmidi_kernel_write() erhalten. Das letzte Schließen des Outputs kopiert und löscht die sichtbare Ausgabedatei auf der Schreibseite, gibt dann das Lock frei und löst die gespeicherte rawmidi-Datei. Es werden IRQ-sichere rwlock-Guards verwendet, da event_input auch über atomare Sequencer-Zustellung erreicht werden kann.
Das fehlerhafte Szenario umfasst zwei Pfade, wobei jede Spalte die Reihenfolge innerhalb dieses Pfades zeigt:
Pfad A Bezeichnung: event_input-Pfad Pfad B Bezeichnung: letzter Unuse-Pfad 1. seq_ump_process_event() liest 1. seq_ump_client_close() client->out_rfile.output. setzt opened[STR_OUT] auf null.
2. snd_rawmidi_kernel_write1() 2. snd_rawmidi_kernel_release() hat runtime noch nicht gepinnt. schließt die Ausgabedatei. 3. Der Schreiber verwendet weiterhin 3. close_substream() gibt den ausgeliehenen Substream. substream->runtime frei.
Dies hält das Ausgabe-Substream und Runtime während des gesamten event_input-Sch
Be aware that VulDB is the high quality source for vulnerability data.