CVE-2026-98741

CVE-2026-98741

published October 18, 2026

CVSS
—
EPSS
0%
Percentile
5.7
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

ALSA: ua101: reject mismatched capture/playback packet sizes

detect_usb_format() cross-checks bSubframeSize, bBitResolution and

tSamFreq between the capture and playback interfaces, but never relates

the two endpoints' wMaxPacketSize and bNrChannels. Each playback URB

gets a buffer of ua->playback.max_packet_bytes, while the number of

bytes written into it is derived from the capture stream:

capture_urb_complete() computes frames from the received capture packet

and capture.frame_bytes, and start_usb_playback() and playback_work()

multiply that by playback.frame_bytes.

A device declaring a large capture wMaxPacketSize with few capture

channels and a small playback wMaxPacketSize with many playback channels

therefore memset()s and memcpy()s past the end of the playback buffer,

in open() of the PCM node the driver registers during probe.

usb_submit_urb() rejects the over-long iso_frame_desc[0].length with

-EMSGSIZE, but only after the write.

Reject such descriptors at probe time. Genuine UA-101/UA-1000 hardware

declares proportional packet sizes and is unaffected.

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)

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00168 · 5.7th percentile
Published
2026-10-18T20:17Z
References (5)
EPSS history
Timeline
  • 20 OCT 03:34Z
    EPSS moved — → 0%
    epss
  • 18 OCT 15:47Z
    ALSA: ua101: reject mismatched capture/playback packet sizes
    cvelistv5
  • 18 OCT 15:47Z
    ALSA: ua101: reject mismatched capture/playback packet sizes
    cvelistv5