CVE-2026-98741 json
ALSA: ua101: reject mismatched capture/playback packet sizes
published 24d ago modified 12d ago also EUVD-2026-103826
- cvss
- —
- not scored
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 7%
- public exploits
- 0
- none known
Summary
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)
Patch / fix
- Linux Linux 7.3
- linux Debian 13 6.12.113-1
- linux Debian 14 7.2.10-1
- linux-6.12 Debian 12 6.12.113-1~deb12u1
debian advisories DEBIAN-CVE-2026-98741
- linux Ubuntu 24.04 LTS 6.8.0-149.149
- linux Ubuntu 26.04 LTS 7.0.0-43.43
- linux-aws Ubuntu 24.04 LTS 6.8.0-1069.74
- linux-aws Ubuntu 26.04 LTS 7.0.0-1017.18
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1073.81
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1017.19
- linux-gke Ubuntu 24.04 LTS 6.8.0-1068.77
- linux-gke Ubuntu 26.04 LTS 7.0.0-1010.11
ubuntu advisories UBUNTU-CVE-2026-98741
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-source Linux Micro 6.0 6.4.0-159998.55.1
- kernel-default Linux Micro 6.0 6.4.0-159998.55.1
- kernel-kvmsmall Linux Micro 6.0 6.4.0-159998.55.1
- kernel-default-base Linux Micro 6.0 6.4.0-159998.55.1.159998.21.42
- kernel-64kb SLE Module for Basesystem 15 SP7 6.4.0-150700.53.90.1
- kernel-syms SLE Module for Development Tools 15 SP7 6.4.0-150700.53.90.1
- kernel-azure SLE Module for Public Cloud 15 SP7 6.4.0-150700.53.90.1
- kernel-source SLE Module for Development Tools 15 SP7, SLE Module for Basesystem 15 SP7 6.4.0-150700.53.90.1
suse advisories SUSE-SU-2026:24550-1SUSE-SU-2026:5091-1
- git.kernel.org/stable/c/b54976c81a6b8cae311b75be1a4cda444689bca0 commit
- git.kernel.org/stable/c/a2d326b3f6d470ea4bfde00245794e0dc6dbbc3d commit
- git.kernel.org/stable/c/0a6a5eecc92c13f936d8d90975116d6bbdf4f876 commit
- git.kernel.org/stable/c/ada5ded765f059a6e3036e69ca350449442af0fc commit
- git.kernel.org/stable/c/fd3a7bf0d988b0878a1957df150edb35f81db87e commit
- git.kernel.org/stable/c/eb0c7fda59cf650076f8ed5b949a6c8441aa3606 commit
- git.kernel.org/stable/c/4294fe57048594a9e158b61c967bb7f943cda477 commit
- git.kernel.org/stable/c/86f86e6fdedc33c5b8d38b9208b350f8accf57ee commit
Is CVE-2026-98741 in your stack? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-98741 updated cvss 7.8
kernel: ALSA: ua101: reject mismatched capture/playback packet sizes
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 kernel-rt, kernel-rt-kvm, kernel-rt-core, kernel-rt-modules, kernel-rt-debug-kvm, kernel-rt-debug-core, +12 more Red Hat Enterprise Linux 10 kernel Red Hat OpenShift Container Platform 4 openshift/ose-rhel-coreos-8, openshift/ose-rhel-coreos-9affected: no fix available
+1 more productsfewer
Red Hat OpenShift Container Platform 5 openshift/ose-rhel-coreos-9 -
Red Hat Enterprise Linux AppStream (v. 9) rv 5.14.0-741.22.1.el9_9, perf 5.14.0-741.22.1.el9_9, rtla 5.14.0-741.22.1.el9_9, python3-perf 5.14.0-741.22.1.el9_9, kernel-devel-matched 5.14.0-741.22.1.el9_9, kernel-64k-devel-matched 5.14.0-741.22.1.el9_9, +7 more Red Hat Enterprise Linux BaseOS (v. 9) kernel 5.14.0-741.22.1.el9_9, kernel-64k 5.14.0-741.22.1.el9_9, kernel-core 5.14.0-741.22.1.el9_9, kernel-tools 5.14.0-741.22.1.el9_9, kernel-modules 5.14.0-741.22.1.el9_9, kernel-64k-core 5.14.0-741.22.1.el9_9, +27 more Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) libperf 5.14.0-741.22.1.el9_9, kernel-debuginfo-common-s390x 5.14.0-741.22.1.el9_9, kernel-debuginfo-common-x86_64 5.14.0-741.22.1.el9_9, kernel-debuginfo-common-aarch64 5.14.0-741.22.1.el9_9, kernel-debuginfo-common-ppc64le 5.14.0-741.22.1.el9_9 Red Hat Enterprise Linux Real Time (v. 9) kernel-rt 5.14.0-741.22.1.el9_9, kernel-rt-64k 5.14.0-741.22.1.el9_9, kernel-rt-core 5.14.0-741.22.1.el9_9, kernel-rt-modules 5.14.0-741.22.1.el9_9, kernel-rt-64k-core 5.14.0-741.22.1.el9_9, kernel-rt-debug-core 5.14.0-741.22.1.el9_9, +14 more Red Hat Enterprise Linux Real Time for NFV (v. 9) kernel-rt 5.14.0-741.22.1.el9_9, kernel-rt-core 5.14.0-741.22.1.el9_9, kernel-rt-modules 5.14.0-741.22.1.el9_9, kernel-rt-debug-core 5.14.0-741.22.1.el9_9, kernel-rt-modules-core 5.14.0-741.22.1.el9_9, kernel-rt-debug-modules 5.14.0-741.22.1.el9_9, +5 morefixed: vendor fix RHSA-2026:99135
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
Exploit prediction
0.18% chance of exploitation in the next 30 days, higher than 7% of all scored CVEs (FIRST EPSS, 2026-11-11).
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/b54976c81a6b8cae311b75be1a4cda444689bca0
- git.kernel.org /stable/c/a2d326b3f6d470ea4bfde00245794e0dc6dbbc3d
- git.kernel.org /stable/c/0a6a5eecc92c13f936d8d90975116d6bbdf4f876
- git.kernel.org /stable/c/ada5ded765f059a6e3036e69ca350449442af0fc
- git.kernel.org /stable/c/fd3a7bf0d988b0878a1957df150edb35f81db87e
- git.kernel.org /stable/c/eb0c7fda59cf650076f8ed5b949a6c8441aa3606
- git.kernel.org /stable/c/4294fe57048594a9e158b61c967bb7f943cda477
- git.kernel.org /stable/c/86f86e6fdedc33c5b8d38b9208b350f8accf57ee
Sources
- CVE List CVE-2026-98741
- NVD CVE-2026-98741
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.