CVE-2026-98741 in Linuxinformación

Resumen

por VulDB • 2026-10-19

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

ALSA: ua101: rechazar tamaños de paquetes de captura/reproducción no coincidentes

detect_usb_format() realiza una verización cruzada entre bSubframeSize, bBitResolution y tSamFreq en las interfaces de captura y reproducción, pero nunca relaciona wMaxPacketSize y bNrChannels de los dos endpoints. Cada URB de reproducción obtiene un buffer de ua->playback.max_packet_bytes, mientras que el número de bytes escritos en él se deriva del flujo de captura: capture_urb_complete() calcula frames a partir del paquete de captura recibido y capture.frame_bytes, y start_usb_playback() y playback_work() multiplican eso por playback.frame_bytes.

Por lo tanto, un dispositivo que declare un wMaxPacketSize grande para la captura con pocos canales de captura y un wMaxPacketSize pequeño para la reproducción con muchos canales de reproducción realizará memset() y memcpy() más allá del final del buffer de reproducción en open() del nodo PCM que el driver registra durante probe. usb_submit_urb() rechaza iso_frame_desc[0].length demasiado largo con -EMSGSIZE, pero solo después de la escritura.

Rechazar dichos descriptores en el momento de probe. El hardware genuino UA-101/UA-1000 declara tamaños de paquetes proporcionales y no se ve afectado.

BUG: KASAN: slab-out-of-bounds in start_usb_playback (sound/usb/misc/ua101.c:586) Write of size 2048 at addr ffff8881098f3c00 by task exploit/5021 Call Trace: __asan_memset (mm/kasan/shadow.c:84) start_usb_playback (sound/usb/misc/ua101.c:586) playback_pcm_open (sound/usb/misc/ua101.c:679) snd_pcm_open_substream (sound/core/pcm_native.c:2829) snd_pcm_open (sound/core/pcm_native.c:2865 sound/core/pcm_native.c:2932) snd_pcm_playback_open (sound/core/pcm_native.c:2891) snd_open (sound/core/sound.c:166) chrdev_open (fs/char_dev.c:411) do_dentry_open (fs/open.c:996) vfs_open (fs/open.c:1101) path_openat (fs/namei.c:4837 fs/namei.c:5000) do_file_open (fs/namei.c:5029) do_sys_openat2 (fs/open.c:1417) __x64_sys_openat (fs/open.c:1423 fs/open.c:1439 fs/open.c:1434) do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)

The buggy address belongs to the object at ffff8881098f3c00 which belongs to the cache kmalloc-192 of size 192 The buggy address is located 0 bytes inside of allocated 168-byte region [ffff8881098f3c00, ffff8881098f3ca8)

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

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-18

Moderación

aceptado

Artículo

VDB-421932

EPSS

0.00168

KEV

no

Actividades

muy bajo

Fuentes

Do you know our Splunk app?

Download it now for free!