CVE-2026-23318

Summary

In the Linux kernel, the following vulnerability has been resolved:

ALSA: usb-audio: Use correct version for UAC3 header validation

The entry of the validators table for UAC3 AC header descriptor is defined with the wrong protocol version UAC_VERSION_2, while it should have been UAC_VERSION_3. This results in the validator never matching for actual UAC3 devices (protocol == UAC_VERSION_3), causing their header descriptors to bypass validation entirely. A malicious USB device presenting a truncated UAC3 header could exploit this to cause out-of-bounds reads when the driver later accesses unvalidated descriptor fields.

The bug was introduced in the same commit as the recently fixed UAC3 feature unit sub-type typo, and appears to be from the same copy-paste error when the UAC3 section was created from the UAC2 section.

Affected Software

VendorProductVersion RangeStatus
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < 82a7d0a1b88798de1a609130080ce0c65dd869e9affected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < 8307d93e63d5f54ef10412d4db2dd551e920dee4affected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < 0dcd1ed96c03459cf14706885c9dd3c1fd8bd29faffected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < a0c6ae2ea84528f198bf7fd0117f12fd0cf6d7ccaffected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < d3904ca40515272681ae61ad6f561c24f190957faffected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < 1e5753ff4c2e86aa88516f97a224c90a3d0b133eaffected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < 499ffd15b00dc91ac95c28f76959dfb5cdcc84d5affected
LinuxLinux57f8770620e9b51c61089751f0b5ad3dbe376ff2 < 54f9d645a5453d0bfece0c465d34aaf072ea99faaffected
LinuxLinux17821e2fb16752f5d363fb5c3f8aab4df41b9bccaffected
LinuxLinuxbf74a46aebb1b5ab5e5f25bafa4ae0a453ba813aaffected
LinuxLinux4.19.84 < 4.20affected
LinuxLinux5.3.11 < 5.4affected
LinuxLinux5.4affected
LinuxLinux0 < 5.4unaffected
LinuxLinux5.10.253 <= 5.10.*unaffected
LinuxLinux5.15.203 <= 5.15.*unaffected
LinuxLinux6.1.167 <= 6.1.*unaffected
LinuxLinux6.6.130 <= 6.6.*unaffected
LinuxLinux6.12.77 <= 6.12.*unaffected
LinuxLinux6.18.17 <= 6.18.*unaffected
LinuxLinux6.19.7 <= 6.19.*unaffected
LinuxLinux7.0 <= *unaffected

Weaknesses

References