{"id":"CVE-2026-23318","state":"PUBLISHED","title":"ALSA: usb-audio: Use correct version for UAC3 header validation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: Use correct version for UAC3 header validation\n\nThe entry of the validators table for UAC3 AC header descriptor is\ndefined with the wrong protocol version UAC_VERSION_2, while it should\nhave been UAC_VERSION_3.  This results in the validator never matching\nfor actual UAC3 devices (protocol == UAC_VERSION_3), causing their\nheader descriptors to bypass validation entirely.  A malicious USB\ndevice presenting a truncated UAC3 header could exploit this to cause\nout-of-bounds reads when the driver later accesses unvalidated\ndescriptor fields.\n\nThe bug was introduced in the same commit as the recently fixed UAC3\nfeature unit sub-type typo, and appears to be from the same copy-paste\nerror when the UAC3 section was created from the UAC2 section.","publishedAt":"2026-03-25T10:27:12.884Z","updatedAt":"2026-10-15T01:14:00.531Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"82a7d0a1b88798de1a609130080ce0c65dd869e9","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"8307d93e63d5f54ef10412d4db2dd551e920dee4","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"0dcd1ed96c03459cf14706885c9dd3c1fd8bd29f","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"a0c6ae2ea84528f198bf7fd0117f12fd0cf6d7cc","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"d3904ca40515272681ae61ad6f561c24f190957f","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"1e5753ff4c2e86aa88516f97a224c90a3d0b133e","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"499ffd15b00dc91ac95c28f76959dfb5cdcc84d5","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"54f9d645a5453d0bfece0c465d34aaf072ea99fa","versionType":"git"},{"version":"17821e2fb16752f5d363fb5c3f8aab4df41b9bcc","status":"affected","versionType":"git"},{"version":"bf74a46aebb1b5ab5e5f25bafa4ae0a453ba813a","status":"affected","versionType":"git"},{"version":"4.19.84","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.3.11","status":"affected","lessThan":"5.4","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/usb/validate.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.4","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.77","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.17","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.7","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/usb/validate.c"]}],"references":["https://git.kernel.org/stable/c/82a7d0a1b88798de1a609130080ce0c65dd869e9","https://git.kernel.org/stable/c/8307d93e63d5f54ef10412d4db2dd551e920dee4","https://git.kernel.org/stable/c/0dcd1ed96c03459cf14706885c9dd3c1fd8bd29f","https://git.kernel.org/stable/c/a0c6ae2ea84528f198bf7fd0117f12fd0cf6d7cc","https://git.kernel.org/stable/c/d3904ca40515272681ae61ad6f561c24f190957f","https://git.kernel.org/stable/c/1e5753ff4c2e86aa88516f97a224c90a3d0b133e","https://git.kernel.org/stable/c/499ffd15b00dc91ac95c28f76959dfb5cdcc84d5","https://git.kernel.org/stable/c/54f9d645a5453d0bfece0c465d34aaf072ea99fa","https://cert-portal.siemens.com/productcert/html/ssa-784472.html"],"weaknesses":[],"ingestedAt":"2026-10-29T20:11:21.040Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/23xxx/CVE-2026-23318.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-23318","state":"PUBLISHED","datePublished":"2026-03-25T10:27:12.884Z","dateUpdated":"2026-10-15T01:14:00.531Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-01-13T15:37:45.995Z"},"containers":{"cna":{"title":"ALSA: usb-audio: Use correct version for UAC3 header validation","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: usb-audio: Use correct version for UAC3 header validation\n\nThe entry of the validators table for UAC3 AC header descriptor is\ndefined with the wrong protocol version UAC_VERSION_2, while it should\nhave been UAC_VERSION_3.  This results in the validator never matching\nfor actual UAC3 devices (protocol == UAC_VERSION_3), causing their\nheader descriptors to bypass validation entirely.  A malicious USB\ndevice presenting a truncated UAC3 header could exploit this to cause\nout-of-bounds reads when the driver later accesses unvalidated\ndescriptor fields.\n\nThe bug was introduced in the same commit as the recently fixed UAC3\nfeature unit sub-type typo, and appears to be from the same copy-paste\nerror when the UAC3 section was created from the UAC2 section."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"82a7d0a1b88798de1a609130080ce0c65dd869e9","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"8307d93e63d5f54ef10412d4db2dd551e920dee4","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"0dcd1ed96c03459cf14706885c9dd3c1fd8bd29f","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"a0c6ae2ea84528f198bf7fd0117f12fd0cf6d7cc","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"d3904ca40515272681ae61ad6f561c24f190957f","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"1e5753ff4c2e86aa88516f97a224c90a3d0b133e","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"499ffd15b00dc91ac95c28f76959dfb5cdcc84d5","versionType":"git"},{"version":"57f8770620e9b51c61089751f0b5ad3dbe376ff2","status":"affected","lessThan":"54f9d645a5453d0bfece0c465d34aaf072ea99fa","versionType":"git"},{"version":"17821e2fb16752f5d363fb5c3f8aab4df41b9bcc","status":"affected","versionType":"git"},{"version":"bf74a46aebb1b5ab5e5f25bafa4ae0a453ba813a","status":"affected","versionType":"git"},{"version":"4.19.84","status":"affected","lessThan":"4.20","versionType":"semver"},{"version":"5.3.11","status":"affected","lessThan":"5.4","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/usb/validate.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.4","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.4","versionType":"semver"},{"version":"5.10.253","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.203","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.167","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.130","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.77","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.17","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"6.19.7","status":"unaffected","lessThanOrEqual":"6.19.*","versionType":"semver"},{"version":"7.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/usb/validate.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/82a7d0a1b88798de1a609130080ce0c65dd869e9"},{"url":"https://git.kernel.org/stable/c/8307d93e63d5f54ef10412d4db2dd551e920dee4"},{"url":"https://git.kernel.org/stable/c/0dcd1ed96c03459cf14706885c9dd3c1fd8bd29f"},{"url":"https://git.kernel.org/stable/c/a0c6ae2ea84528f198bf7fd0117f12fd0cf6d7cc"},{"url":"https://git.kernel.org/stable/c/d3904ca40515272681ae61ad6f561c24f190957f"},{"url":"https://git.kernel.org/stable/c/1e5753ff4c2e86aa88516f97a224c90a3d0b133e"},{"url":"https://git.kernel.org/stable/c/499ffd15b00dc91ac95c28f76959dfb5cdcc84d5"},{"url":"https://git.kernel.org/stable/c/54f9d645a5453d0bfece0c465d34aaf072ea99fa"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T16:04:33.455Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"5.10.253"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"5.15.203"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.1.167"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.6.130"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.12.77"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.18.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"6.19.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4","versionEndExcluding":"7.0"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.84"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.3.11"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"affected":[{"vendor":"Siemens","product":"SIMATIC S7-1500 TM MFP - GNU/Linux subsystem","defaultStatus":"unknown","versions":[{"version":"0","status":"affected","lessThan":"*","versionType":"custom"}]}],"references":[{"url":"https://cert-portal.siemens.com/productcert/html/ssa-784472.html"}],"providerMetadata":{"shortName":"siemens-SADP","orgId":"0b142b55-0307-4c5a-b3c9-f314f3fb7c5e","dateUpdated":"2026-10-15T01:14:00.531Z"},"x_adpType":"supplier"}]}}}