CVE-2026-98741
Last modified
CVE-2026-98741 is a vulnerability of currently unknown severity. 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. EPSS estimates a 0.17% chance of exploitation in the next 30 days.
Description
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)
Metrics
Affected Software
Source: CNA advisory (CVE.org). NVD analysis pending.
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < b54976c81a6b8cae311b75be1a4cda444689bca0; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < a2d326b3f6d470ea4bfde00245794e0dc6dbbc3d; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < 0a6a5eecc92c13f936d8d90975116d6bbdf4f876; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < ada5ded765f059a6e3036e69ca350449442af0fc; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < fd3a7bf0d988b0878a1957df150edb35f81db87e; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < eb0c7fda59cf650076f8ed5b949a6c8441aa3606; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < 4294fe57048594a9e158b61c967bb7f943cda477; >= 63978ab3e3e963db28093b53bb4598f2702e1ad7, < 86f86e6fdedc33c5b8d38b9208b350f8accf57ee |
| Linux | Linux | 2.6.34 |
References
Timeline
- Published
- Last Modified
- Status
- Received
Frequently Asked Questions
What is CVE-2026-98741?
How severe is CVE-2026-98741?
How do I fix CVE-2026-98741?
How Strix Helps
- How Strix found a critical auth bypass in etcdStrix autonomously discovered a critical authentication bypass in etcd, later designated CVE-2026-33413.
- Autonomous PentestingAI agents that find and validate exploitable vulnerabilities like this one across your applications.
- PR ReviewsPentest every pull request so vulnerable code is caught before it ships to production.
- AI Penetration TestingHow AI-driven penetration testing continuously covers your attack surface.
Related CVEs from 2026
- CVE-2026-98736In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98737In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98738In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98739In the Linux kernel, the following vulnerability has been re…
- CVE-2026-9874Use after free in Dawn in Google Chrome prior to 148.0.7778.…9.6
- CVE-2026-98740In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98742In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98743In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98744In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98745In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98746In the Linux kernel, the following vulnerability has been re…
- CVE-2026-98747In the Linux kernel, the following vulnerability has been re…
Are you affected by CVE-2026-98741?
Run a free Strix scan to check your systems for this vulnerability.
Scan your code nowSource: NVD / NIST
