CVE-2026-98836 in Linuxinfo

Zusammenfassung

von VulDB • 19.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

ALSA: line6 – Ablehnung von zu großen Playback-Paketen

Jedem URB für die Wiedergabe wird ein Ausschnitt aus out.buffer übergeben, der genau LINE6_ISO_PACKETS * max_packet_size_out Bytes groß ist und sich auf den OUT-Endpunkt bezieht. Die Anzahl der in diesen Ausschnitt geschriebenen Bytes wird jedoch niemals damit verglichen.

submit_audio_out_urb() übernimmt die Frame-Anzahl von prev_fsize, das audio_in_callback() aus der empfangenen Paketlänge des *IN*-Endpunkts abgeleitet hat, und skaliert sie mit der Wiedergabe-Frame-Größe; wenn prev_fsize noch null ist, wird stattdessen eine Länge basierend auf der Abtastrate synthetisiert. Bei einem Gerät, das ein großes IN wMaxPacketSize und ein kleines OUT wMaxPacketSize angibt, läuft die resultierende memcpy()- oder memset()-Operation (wenn der Wiedergabestrom inaktiv ist) über ihren zugewiesenen Ausschnitt hinaus und – wie im folgenden Reproducer gezeigt wird – über den Zuweisungsbereich hinaus.

usb_submit_urb() stellt keinen ausreichenden Schutz dar. max_packet_size_out stammt von usb_maxpacket(), das nur die unteren 11 Bits von wMaxPacketSize zurückgibt, während der USB-Core eine isochrone Länge für High-Speed gegen diese Basis skaliert mit usb_endpoint_maxp_mult() validiert. Daher wird eine Länge bis zu dreimal so groß wie der zugewiesene Ausschnitt akzeptiert, und selbst ein abgelehntes URB wird erst nach dem Schreibvorgang zurückgewiesen.

Ein Paket, das nicht in den vom Treiber dafür zugewiesenen Ausschnitt passt, sollte abgelehnt werden. Eine statische Begrenzung (Clamping) würde die aus der Aufnahme abgeleitete Ratenrückmeldung stillschweigend verkürzen und die beiden Streams entkoppeln.

BUG: KASAN: slab-out-of-bounds in submit_audio_out_urb (sound/usb/line6/playback.c:229) Write of size 1024 at addr ffff888100bbd400 by task kworker/1:2/5002 Workqueue: events line6_startup_work Call Trace: __asan_memcpy (mm/kasan/shadow.c:106) submit_audio_out_urb (sound/usb/line6/playback.c:229) line6_submit_audio_out_all_urbs (sound/usb/line6/playback.c:291) line6_stream_start (sound/usb/line6/pcm.c:194) line6_pcm_acquire (sound/usb/line6/pcm.c:337) line6_startup_work (sound/usb/line6/driver.c:728) process_one_work (kernel/workqueue.c:3396) worker_thread (kernel/workqueue.c:3479 kernel/workqueue.c:3560) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245)

Die fehlerhafte Adresse gehört zum Objekt bei ffff888100bbd400, das zur Cache kmalloc-256 mit einer Größe von 256 Bytes gehört. Die fehlerhafte Adresse befindet sich 0 Bytes innerhalb der zugewiesenen 256-Byte-Region [ffff888100bbd400, ffff888100bbd500)

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

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-421837

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Want to know what is going to be exploited?

We predict KEV entries!