{"id":"CVE-2026-98771","state":"PUBLISHED","title":"usb: storage: sierra_ms: reject short SWoC info transfers","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: storage: sierra_ms: reject short SWoC info transfers\n\nsierra_get_swoc_info() requests sizeof(struct swoc_info) (60) bytes\nfrom the device via usb_control_msg(), but its callers only treat a\nnegative return value as failure. A device that answers the\nvendor-specific GetSwocInfo request with a short IN transfer is\ntherefore accepted, leaving the tail of the freshly allocated\n(kmalloc(), non-zeroing) swoc_info buffer uninitialized.\n\ntruinst_show() subsequently prints swocInfo->rev, swocInfo->LinuxSKU\nand swocInfo->LinuxVer from that buffer into the world-readable\n(0444) \"truinst\" sysfs attribute. An emulated/malicious USB device\n(VID 0x1199, PID 0x0fff) can exploit this to disclose up to 5 bytes\nof stale kernel heap memory (kmalloc-64) to unprivileged userspace,\nonce per sysfs read, indefinitely. On kernels built without\ninit_on_alloc this leaks recently freed heap contents.\n\nOnly accept the transfer when the full structure was received.\nsierra_ms_init() already retries failed queries, so well-behaved\ndevices are unaffected.","publishedAt":"2026-10-18T15:48:07.367Z","updatedAt":"2026-10-30T12:39:39.761Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"353ca2623104a3baf5642c3ea31569df04ce4aaf","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"799810166646bcf9dc5a4e77bc4b0bdf6bc443f2","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"411da2ec8c62bfa39407e5a20d659b973b3cf311","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"4faaad69f18332246bbd4ca41718beb2a305bb72","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"c85e8331d298b8f1dee8fe63718e76435cec7133","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"e2d62928f2666a2964a23b1d39e6e762f0628d7b","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"db9d3be156baca6ef80ae5d93acfeb85c61a74dd","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"8a0200d14acd9db388b85cd016e68a4e60d900ec","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/storage/sierra_ms.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.27","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.27","versionType":"semver"},{"version":"5.10.273","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.224","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.113","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.56","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.10","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/storage/sierra_ms.c"]}],"references":["https://git.kernel.org/stable/c/353ca2623104a3baf5642c3ea31569df04ce4aaf","https://git.kernel.org/stable/c/799810166646bcf9dc5a4e77bc4b0bdf6bc443f2","https://git.kernel.org/stable/c/411da2ec8c62bfa39407e5a20d659b973b3cf311","https://git.kernel.org/stable/c/4faaad69f18332246bbd4ca41718beb2a305bb72","https://git.kernel.org/stable/c/c85e8331d298b8f1dee8fe63718e76435cec7133","https://git.kernel.org/stable/c/e2d62928f2666a2964a23b1d39e6e762f0628d7b","https://git.kernel.org/stable/c/db9d3be156baca6ef80ae5d93acfeb85c61a74dd","https://git.kernel.org/stable/c/8a0200d14acd9db388b85cd016e68a4e60d900ec"],"weaknesses":[],"ingestedAt":"2026-10-30T13:00:06.648Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/98xxx/CVE-2026-98771.json","commit":"cb14bf1b43b0c9f05f7f40eae2246263fd430780","baselineCommit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-98771","state":"PUBLISHED","datePublished":"2026-10-18T15:48:07.367Z","dateUpdated":"2026-10-30T12:39:39.761Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-25T10:25:14.369Z"},"containers":{"cna":{"title":"usb: storage: sierra_ms: reject short SWoC info transfers","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nusb: storage: sierra_ms: reject short SWoC info transfers\n\nsierra_get_swoc_info() requests sizeof(struct swoc_info) (60) bytes\nfrom the device via usb_control_msg(), but its callers only treat a\nnegative return value as failure. A device that answers the\nvendor-specific GetSwocInfo request with a short IN transfer is\ntherefore accepted, leaving the tail of the freshly allocated\n(kmalloc(), non-zeroing) swoc_info buffer uninitialized.\n\ntruinst_show() subsequently prints swocInfo->rev, swocInfo->LinuxSKU\nand swocInfo->LinuxVer from that buffer into the world-readable\n(0444) \"truinst\" sysfs attribute. An emulated/malicious USB device\n(VID 0x1199, PID 0x0fff) can exploit this to disclose up to 5 bytes\nof stale kernel heap memory (kmalloc-64) to unprivileged userspace,\nonce per sysfs read, indefinitely. On kernels built without\ninit_on_alloc this leaks recently freed heap contents.\n\nOnly accept the transfer when the full structure was received.\nsierra_ms_init() already retries failed queries, so well-behaved\ndevices are unaffected."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"353ca2623104a3baf5642c3ea31569df04ce4aaf","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"799810166646bcf9dc5a4e77bc4b0bdf6bc443f2","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"411da2ec8c62bfa39407e5a20d659b973b3cf311","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"4faaad69f18332246bbd4ca41718beb2a305bb72","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"c85e8331d298b8f1dee8fe63718e76435cec7133","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"e2d62928f2666a2964a23b1d39e6e762f0628d7b","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"db9d3be156baca6ef80ae5d93acfeb85c61a74dd","versionType":"git"},{"version":"32fe5e393455d87db4988af03915634304870fb4","status":"affected","lessThan":"8a0200d14acd9db388b85cd016e68a4e60d900ec","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/storage/sierra_ms.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.27","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.27","versionType":"semver"},{"version":"5.10.273","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.224","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.191","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.160","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.113","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.56","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.10","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/usb/storage/sierra_ms.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/353ca2623104a3baf5642c3ea31569df04ce4aaf"},{"url":"https://git.kernel.org/stable/c/799810166646bcf9dc5a4e77bc4b0bdf6bc443f2"},{"url":"https://git.kernel.org/stable/c/411da2ec8c62bfa39407e5a20d659b973b3cf311"},{"url":"https://git.kernel.org/stable/c/4faaad69f18332246bbd4ca41718beb2a305bb72"},{"url":"https://git.kernel.org/stable/c/c85e8331d298b8f1dee8fe63718e76435cec7133"},{"url":"https://git.kernel.org/stable/c/e2d62928f2666a2964a23b1d39e6e762f0628d7b"},{"url":"https://git.kernel.org/stable/c/db9d3be156baca6ef80ae5d93acfeb85c61a74dd"},{"url":"https://git.kernel.org/stable/c/8a0200d14acd9db388b85cd016e68a4e60d900ec"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-30T12:39:39.761Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"5.10.273"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"5.15.224"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"6.1.191"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"6.6.160"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"6.12.113"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"6.18.56"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"7.2.10"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.27","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}