CVE-2026-80628 in Linuxinfo

Zusammenfassung

von VulDB • 28.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

ALSA: seq: oss: Serialisierung des Reset-Zustands von readq mit q->lock

snd_seq_oss_readq_clear() setzt qlen, head und tail zurück, ohne q->lock zu verwenden, obwohl die normalen Lese- und Schreibpfade denselben Ringzustand unter diesem Spinlock serialisieren. Ein Reset kann daher einen Race Condition (Wettlaufsituation) mit snd_seq_oss_readq_free() oder snd_seq_oss_readq_put_event() verursachen und veraltete Datensätze in der Warteschlange hinterlassen, frisch eingereihte Datenpunkte verlieren oder nach dem Aufwachen eine falsche Bereitschaft melden. KCSAN meldet einen Data Race (Daten-Wettlauf) zwischen snd_seq_oss_readq_clear() und snd_seq_oss_readq_free().

Es wird q->lock während des Zurücksetzens des Rings und der Eingabezeit gehalten. Die Enqueue-Logik wurde in eine vom Aufrufer gesperrte Hilfsfunktion ausgelagert, damit snd_seq_oss_readq_put_timestamp() seinen Unterdrückungsstatus unter demselben Sperrmechanismus aktualisiert, anstatt mit dem Reset-Pfad zu konkurrieren.

Das fehlerhafte Szenario umfasst zwei Pfade, wobei jede Spalte die Reihenfolge innerhalb dieses Pfads zeigt:

Reset-Pfad: Gesperrter readq-Aktualisierer: 1. snd_seq_oss_reset() oder 1. Ein Leser- oder Callback-Schreiber release erreicht nimmt q->lock für dieselbe Warteschlange in Anspruch. snd_seq_oss_readq_clear(). 2. snd_seq_oss_readq_clear() 2. Der Aktualisierer testet oder ändert setzt qlen, head, tail qlen, head und tail. sowie input_time zurück. 3. snd_seq_oss_readq_clear() 3. Der Aktualisierer beendet seine weckt Sleepers auf Lese-Ändere-Schreib-Sequenz ab. q->midi_sleep. 4. Ohne q->lock kann der Reset 4. Der resultierende Ringzustand treibt den gesperrten spätere Lesevorgänge und die Bereitschaftsmeldung an. Update überschneiden.

KCSAN meldet:

BUG: KCSAN: data-race in snd_seq_oss_readq_clear / snd_seq_oss_readq_free

Schreibzugriff auf 0xffff8881069fe608 mit 4 Bytes durch Task 120516 auf CPU 0: snd_seq_oss_readq_free+0x6c/0x80 snd_seq_oss_read+0xcb/0x250 odev_read+0x38/0x60 vfs_read+0xff/0x600 ksys_read+0xb4/0x140 __x64_sys_read+0x46/0x60 do_syscall_64+0xbb/0x2f0 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Lesezugriff auf 0xffff8881069fe608 mit 4 Bytes durch Task 120517 auf CPU 1: snd_seq_oss_readq_clear+0x1f/0x90 snd_seq_oss_reset+0xa7/0xf0 snd_seq_oss_ioctl+0x6f6/0x7e0 odev_ioctl+0x56/0xc0 __x64_sys_ioctl+0xd1/0x120 do_syscall_64+0xbb/0x2f0 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Wert geändert: 0x00000001 -> 0x00000000

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

26.08.2026

Veröffentlichung

28.08.2026

Moderieren

akzeptiert

Eintrag

VDB-396559

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!