{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-90068","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-09-11T19:38:34.784Z","datePublished":"2026-09-17T16:05:50.251Z","dateUpdated":"2026-09-17T16:05:50.251Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-09-17T16:05:50.251Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: dapm: Fix off-by-one check on the second enum channel\n\nThe snd_soc_dapm_put_enum_double() rejects item[0] once it reaches\ne->items, but it lets item[1] be equal to it.  Both go on to\nsnd_soc_enum_item_to_val(), which indexes e->values with no bound of\nits own, so an enum with a value table reads one element past the end.\n\nThe indexing arrived with the MUX consolidation, which relaxed the\nitem[1] check in the same hunk.  The value MUX handler it deleted used\n>= there, and the snd_soc_put_enum_double() in soc-ops.c still does.\n\nOnly adav80x pairs a value table with two shifts, and its second\nchannel looks accidental, but the control does report two values.\nWriting three into it reads off the end of adav80x_mux_values.  The\ncore catches that only under CONFIG_SND_CTL_INPUT_VALIDATION, which\ndefaults off."}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/soc-dapm.c"],"versions":[{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"57ab955bde747327fb2042516ae1b7192c30e881","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"806fa4e1f2bf73c54bc4b6360790ecc69d095ca5","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"496081b4edc1f6e662418831c5b14cddd8d7920c","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"faf539af1a595a26e5a081a4e512caee2bc2f4c5","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"32fc048391112559c34cb88d13594546939a4cd6","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"10a36512c21f861a03fba461a7ead09023df9c1b","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"55126ef66298e43c69f192acebae8c7cc0022cf6","status":"affected","versionType":"git"},{"version":"3727b4968453dbab8fe18f979d67285eb6b66801","lessThan":"14511c9b54ceeeef487409d73947c89ee8563590","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/soc/soc-dapm.c"],"versions":[{"version":"3.15","status":"affected"},{"version":"0","lessThan":"3.15","status":"unaffected","versionType":"semver"},{"version":"5.10.270","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.221","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.188","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.157","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.110","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.52","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.2.6","lessThanOrEqual":"7.2.*","status":"unaffected","versionType":"semver"},{"version":"7.3-rc1","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.12.110"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"6.18.52"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"7.2.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.15","versionEndExcluding":"7.3-rc1"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/57ab955bde747327fb2042516ae1b7192c30e881"},{"url":"https://git.kernel.org/stable/c/806fa4e1f2bf73c54bc4b6360790ecc69d095ca5"},{"url":"https://git.kernel.org/stable/c/496081b4edc1f6e662418831c5b14cddd8d7920c"},{"url":"https://git.kernel.org/stable/c/faf539af1a595a26e5a081a4e512caee2bc2f4c5"},{"url":"https://git.kernel.org/stable/c/32fc048391112559c34cb88d13594546939a4cd6"},{"url":"https://git.kernel.org/stable/c/10a36512c21f861a03fba461a7ead09023df9c1b"},{"url":"https://git.kernel.org/stable/c/55126ef66298e43c69f192acebae8c7cc0022cf6"},{"url":"https://git.kernel.org/stable/c/14511c9b54ceeeef487409d73947c89ee8563590"}],"title":"ASoC: dapm: Fix off-by-one check on the second enum channel","x_generator":{"engine":"bippy-1.2.0"}}}}