Skip to main content
← All vulnerabilities
CVE-2026-90068

ASoC: dapm: Fix off-by-one check on the second enum channel

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 5.10.270, 5.15.221, 6.1.188, 6.6.157, 6.12.110, and 2 more
None on Exploit-DB, Metasploit or GitHub

Summary

In the Linux kernel, the following vulnerability has been resolved: ASoC: dapm: Fix off-by-one check on the second enum channel The snd_soc_dapm_put_enum_double() rejects item[0] once it reaches e->items, but it lets item[1] be equal to it. Both go on to snd_soc_enum_item_to_val(), which indexes e->values with no bound of its own, so an enum with a value table reads one element past the end. The indexing arrived with the MUX consolidation, which relaxed the item[1] check in the same hunk. The value MUX handler it deleted used >= there, and the snd_soc_put_enum_double() in soc-ops.c still does. Only adav80x pairs a value table with two shifts, and its second channel looks accidental, but the control does report two values. Writing three into it reads off the end of adav80x_mux_values. The core catches that only under CONFIG_SND_CTL_INPUT_VALIDATION, which defaults off.

Timeline

  1. CVE published
  2. Record last updated

Affected versions

  • Linux Linux

    From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 57ab955bde747327fb2042516ae1b7192c30e881; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 806fa4e1f2bf73c54bc4b6360790ecc69d095ca5; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 496081b4edc1f6e662418831c5b14cddd8d7920c; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in faf539af1a595a26e5a081a4e512caee2bc2f4c5; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 32fc048391112559c34cb88d13594546939a4cd6; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 10a36512c21f861a03fba461a7ead09023df9c1b; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 55126ef66298e43c69f192acebae8c7cc0022cf6; From 3727b4968453dbab8fe18f979d67285eb6b66801 · fixed in 14511c9b54ceeeef487409d73947c89ee8563590

  • Linux Linux

    3.15

  • KernelLinux

    From 3.15.0 · fixed in 5.10.270; From 5.11.0 · fixed in 5.15.221; From 5.16.0 · fixed in 6.1.188; From 6.2.0 · fixed in 6.6.157; From 6.7.0 · fixed in 6.12.110; From 6.13.0 · fixed in 6.18.52; From 6.19.0 · fixed in 7.2.6

References 8

git.kernel.org