ALSA: usb-audio: caiaq: validate EP1 reply lengths
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.271, 5.15.222, 6.1.189, 6.6.158, 6.12.111, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: ALSA: usb-audio: caiaq: validate EP1 reply lengths usb_ep1_command_reply_dispatch() uses buf[0] as a command byte and then reads command-specific fixed items from the same URB buffer. Several paths use buf + 1, buf[1], buf[2], or buf + 3 without first proving that urb->actual_length contains those bytes. Add per-command length checks, use a payload length derived from the bytes after the command byte for the control-state copy, and reject short analog input payloads before the input helper reads fixed offsets from the EP1 reply.
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in 91acd231f219452fa58285239f83945accad9513; From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in 7cc6b3745a0cea697c8d0684b3094f220281a08d; From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in add9328c91c195c494cd68a21b19e5e47a20d784; From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in 319393151367e6626affedcdd4f7b7b0286f4246; From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in af8a172c4f71ac30d625f2966d2389a7fa872819; From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in 74f3c639f64fa5da4e1613149798b5089bce2807; From 523f1dce37434a9a6623bf46e7893e2b4b10ac3c · fixed in aba30af07d4fe499b50209801eba9da8a815522f
- Linux Linux
2.6.22
- KernelLinux
From 2.6.22 · fixed in 5.10.271; From 5.11.0 · fixed in 5.15.222; From 5.16.0 · fixed in 6.1.189; From 6.2.0 · fixed in 6.6.158; From 6.7.0 · fixed in 6.12.111; From 6.13.0 · fixed in 6.18.53
References 7
git.kernel.org
- stable/c/91acd231f219452fa58285239f83945accad9513
- stable/c/7cc6b3745a0cea697c8d0684b3094f220281a08d
- stable/c/add9328c91c195c494cd68a21b19e5e47a20d784
- stable/c/319393151367e6626affedcdd4f7b7b0286f4246
- stable/c/af8a172c4f71ac30d625f2966d2389a7fa872819
- stable/c/74f3c639f64fa5da4e1613149798b5089bce2807
- stable/c/aba30af07d4fe499b50209801eba9da8a815522f