248 lines
13 KiB
JSON
248 lines
13 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-98741",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-09-25T10:25:14.367Z",
|
|
"datePublished": "2026-10-18T15:47:26.283Z",
|
|
"dateUpdated": "2026-10-30T12:39:15.151Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-10-30T12:39:15.151Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: ua101: reject mismatched capture/playback packet sizes\n\ndetect_usb_format() cross-checks bSubframeSize, bBitResolution and\ntSamFreq between the capture and playback interfaces, but never relates\nthe two endpoints' wMaxPacketSize and bNrChannels. Each playback URB\ngets a buffer of ua->playback.max_packet_bytes, while the number of\nbytes written into it is derived from the capture stream:\ncapture_urb_complete() computes frames from the received capture packet\nand capture.frame_bytes, and start_usb_playback() and playback_work()\nmultiply that by playback.frame_bytes.\n\nA device declaring a large capture wMaxPacketSize with few capture\nchannels and a small playback wMaxPacketSize with many playback channels\ntherefore memset()s and memcpy()s past the end of the playback buffer,\nin open() of the PCM node the driver registers during probe.\nusb_submit_urb() rejects the over-long iso_frame_desc[0].length with\n-EMSGSIZE, but only after the write.\n\nReject such descriptors at probe time. Genuine UA-101/UA-1000 hardware\ndeclares proportional packet sizes and is unaffected.\n\n BUG: KASAN: slab-out-of-bounds in start_usb_playback (sound/usb/misc/ua101.c:586)\n Write of size 2048 at addr ffff8881098f3c00 by task exploit/5021\n Call Trace:\n __asan_memset (mm/kasan/shadow.c:84)\n start_usb_playback (sound/usb/misc/ua101.c:586)\n playback_pcm_open (sound/usb/misc/ua101.c:679)\n snd_pcm_open_substream (sound/core/pcm_native.c:2829)\n snd_pcm_open (sound/core/pcm_native.c:2865 sound/core/pcm_native.c:2932)\n snd_pcm_playback_open (sound/core/pcm_native.c:2891)\n snd_open (sound/core/sound.c:166)\n chrdev_open (fs/char_dev.c:411)\n do_dentry_open (fs/open.c:996)\n vfs_open (fs/open.c:1101)\n path_openat (fs/namei.c:4837 fs/namei.c:5000)\n do_file_open (fs/namei.c:5029)\n do_sys_openat2 (fs/open.c:1417)\n __x64_sys_openat (fs/open.c:1423 fs/open.c:1439 fs/open.c:1434)\n do_syscall_64 (arch/x86/entry/syscall_64.c:61 arch/x86/entry/syscall_64.c:84)\n entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)\n\n The buggy address belongs to the object at ffff8881098f3c00\n which belongs to the cache kmalloc-192 of size 192\n The buggy address is located 0 bytes inside of\n allocated 168-byte region [ffff8881098f3c00, ffff8881098f3ca8)"
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"sound/usb/misc/ua101.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "b54976c81a6b8cae311b75be1a4cda444689bca0",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "a2d326b3f6d470ea4bfde00245794e0dc6dbbc3d",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "0a6a5eecc92c13f936d8d90975116d6bbdf4f876",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "ada5ded765f059a6e3036e69ca350449442af0fc",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "fd3a7bf0d988b0878a1957df150edb35f81db87e",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "eb0c7fda59cf650076f8ed5b949a6c8441aa3606",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "4294fe57048594a9e158b61c967bb7f943cda477",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "63978ab3e3e963db28093b53bb4598f2702e1ad7",
|
|
"lessThan": "86f86e6fdedc33c5b8d38b9208b350f8accf57ee",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"sound/usb/misc/ua101.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "2.6.34",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "2.6.34",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.10.273",
|
|
"lessThanOrEqual": "5.10.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "5.15.224",
|
|
"lessThanOrEqual": "5.15.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.1.191",
|
|
"lessThanOrEqual": "6.1.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.6.160",
|
|
"lessThanOrEqual": "6.6.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.12.113",
|
|
"lessThanOrEqual": "6.12.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "6.18.56",
|
|
"lessThanOrEqual": "6.18.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.2.10",
|
|
"lessThanOrEqual": "7.2.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.3",
|
|
"lessThanOrEqual": "*",
|
|
"status": "unaffected",
|
|
"versionType": "original_commit_for_fix"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"cpeApplicability": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "5.10.273"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "5.15.224"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "6.1.191"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "6.6.160"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "6.12.113"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "6.18.56"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "7.2.10"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "2.6.34",
|
|
"versionEndExcluding": "7.3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/b54976c81a6b8cae311b75be1a4cda444689bca0"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/a2d326b3f6d470ea4bfde00245794e0dc6dbbc3d"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/0a6a5eecc92c13f936d8d90975116d6bbdf4f876"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/ada5ded765f059a6e3036e69ca350449442af0fc"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/fd3a7bf0d988b0878a1957df150edb35f81db87e"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/eb0c7fda59cf650076f8ed5b949a6c8441aa3606"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/4294fe57048594a9e158b61c967bb7f943cda477"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/86f86e6fdedc33c5b8d38b9208b350f8accf57ee"
|
|
}
|
|
],
|
|
"title": "ALSA: ua101: reject mismatched capture/playback packet sizes",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |