{"id":"CVE-2026-90033","state":"PUBLISHED","title":"ALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output()\n\nThe snd_usbmidi_us122l_output() picks a count of 2 on anything slower\nthan high speed and never relates it to ep->max_transfer.  The URB\nbuffer holds exactly max_transfer bytes, so a device declaring a one\nbyte bulk endpoint takes two bytes from snd_rawmidi_transmit(), and the\nmemset that pads the rest computes 1 - 2 in int and wraps to SIZE_MAX.\n\nOnly 0x800e and 0x800f are pinned to nine bytes.  The US-122MKII at\n0x0644:0x8021 falls to the default and takes usb_maxpacket(), which the\nUSB core only clamps downward.\n\nThe akai and novation output ops in this file were given the same guard\nrecently.  Do the same here.","publishedAt":"2026-09-16T10:33:33.899Z","updatedAt":"2026-10-19T08:56:50.205Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"5538daf2a5cc80ac3f3e913c0db045d92d995d40","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"a441a8e52148c91c2f2a91f42e3b9bc961a13a4b","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"2dae0e3a59e31f78222279d544b98e747cd1fbff","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"1d4add2b832b56f81bb0eab065ec35c610343018","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"de6d252f115be887a701c09a05cdb076f3a590c9","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"9392a2c346762ffee8edd1ba8bac50d2e24a2ed7","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"9d81885d97cba7796d1f8edc88f2499c8296f5b9","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"e4637ce34607f1733a34a57294966d26b263e626","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/usb/midi.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.28","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.28","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.51","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.5","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":["sound/usb/midi.c"]}],"references":["https://git.kernel.org/stable/c/5538daf2a5cc80ac3f3e913c0db045d92d995d40","https://git.kernel.org/stable/c/a441a8e52148c91c2f2a91f42e3b9bc961a13a4b","https://git.kernel.org/stable/c/2dae0e3a59e31f78222279d544b98e747cd1fbff","https://git.kernel.org/stable/c/1d4add2b832b56f81bb0eab065ec35c610343018","https://git.kernel.org/stable/c/de6d252f115be887a701c09a05cdb076f3a590c9","https://git.kernel.org/stable/c/9392a2c346762ffee8edd1ba8bac50d2e24a2ed7","https://git.kernel.org/stable/c/9d81885d97cba7796d1f8edc88f2499c8296f5b9","https://git.kernel.org/stable/c/e4637ce34607f1733a34a57294966d26b263e626"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:34.582Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/90xxx/CVE-2026-90033.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90033","state":"PUBLISHED","datePublished":"2026-09-16T10:33:33.899Z","dateUpdated":"2026-10-19T08:56:50.205Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.782Z"},"containers":{"cna":{"title":"ALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: fix OOB write in snd_usbmidi_us122l_output()\n\nThe snd_usbmidi_us122l_output() picks a count of 2 on anything slower\nthan high speed and never relates it to ep->max_transfer.  The URB\nbuffer holds exactly max_transfer bytes, so a device declaring a one\nbyte bulk endpoint takes two bytes from snd_rawmidi_transmit(), and the\nmemset that pads the rest computes 1 - 2 in int and wraps to SIZE_MAX.\n\nOnly 0x800e and 0x800f are pinned to nine bytes.  The US-122MKII at\n0x0644:0x8021 falls to the default and takes usb_maxpacket(), which the\nUSB core only clamps downward.\n\nThe akai and novation output ops in this file were given the same guard\nrecently.  Do the same here."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"5538daf2a5cc80ac3f3e913c0db045d92d995d40","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"a441a8e52148c91c2f2a91f42e3b9bc961a13a4b","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"2dae0e3a59e31f78222279d544b98e747cd1fbff","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"1d4add2b832b56f81bb0eab065ec35c610343018","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"de6d252f115be887a701c09a05cdb076f3a590c9","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"9392a2c346762ffee8edd1ba8bac50d2e24a2ed7","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"9d81885d97cba7796d1f8edc88f2499c8296f5b9","versionType":"git"},{"version":"030a07e441296c372f946cd4065b5d831d8dc40c","status":"affected","lessThan":"e4637ce34607f1733a34a57294966d26b263e626","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/usb/midi.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.28","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.28","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.110","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.51","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.5","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":["sound/usb/midi.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/5538daf2a5cc80ac3f3e913c0db045d92d995d40"},{"url":"https://git.kernel.org/stable/c/a441a8e52148c91c2f2a91f42e3b9bc961a13a4b"},{"url":"https://git.kernel.org/stable/c/2dae0e3a59e31f78222279d544b98e747cd1fbff"},{"url":"https://git.kernel.org/stable/c/1d4add2b832b56f81bb0eab065ec35c610343018"},{"url":"https://git.kernel.org/stable/c/de6d252f115be887a701c09a05cdb076f3a590c9"},{"url":"https://git.kernel.org/stable/c/9392a2c346762ffee8edd1ba8bac50d2e24a2ed7"},{"url":"https://git.kernel.org/stable/c/9d81885d97cba7796d1f8edc88f2499c8296f5b9"},{"url":"https://git.kernel.org/stable/c/e4637ce34607f1733a34a57294966d26b263e626"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:56:50.205Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"6.18.51"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"7.2.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.28","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}