CVE Catalog

CVE-2026-90068

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, snd_soc_dapm_put_enum_double() rejects item[0] once it reaches e->items, but lets item[1] be equal to it. Both go 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. Only adav80x pairs a value table with two shifts.

Risk Assessment

An out-of-bounds read of the value table can lead to unpredictable audio driver behavior or a crash. Impact is limited to specific hardware (adav80x).

Recommendation

Update the Linux kernel to a version with the fix that checks item[1] using >=. If you use the adav80x codec, verify audio control behavior after the update.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS