CVE-2026-93039

ASoC: meson: Keep link pointers valid on realloc failure

State
Published
Severity
7.4 High
Published
Sep 17, 2026
Updated
Oct 19, 2026
Reserved
Sep 17, 2026

Read the record on cve.org

Description

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

ASoC: meson: Keep link pointers valid on realloc failure

meson_card_reallocate_links() grows the DAI link and private data arrays with two consecutive krealloc() calls and updates the owner pointers only after both calls have succeeded.

A successful krealloc() may move the data: it frees the old block and returns a new one. When that happens for the link array and the second krealloc() then fails, card->dai_link still points to the block that krealloc() already freed, and the error path frees the new block too. The probe error path then calls meson_card_clean_references(), which dereferences card->dai_link and kfree()s it again, resulting in a use-after-free and a double free.

Commit card->dai_link and card->num_links right after the first krealloc() succeeds, so the pointer always refers to a valid allocation that meson_card_clean_references() can walk and free. krealloc() with __GFP_ZERO zero-initializes the added entries, so walking them on the error path is safe. With both failure paths reduced to a plain return, drop the goto labels and the error message.

Scores

CVSSScoreVectorSource
3.17.4 HighCVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before de33afc57f24538186bccf4c4f6c65dd38634fd8Affected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 1c1485343b7c1c39dab7ecb9cd16ba49fd0ce642Affected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 8db0a0fc84e80aa9924e0833aef6cc95df94e5a7Affected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 41e92e0caa1fe3df2efaca346bfcaeb7fb9826abAffected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 0b30fbe6bf7cf6499b19dd886f466e7c9e820089Affected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 8fec16898f184e5f8f8fdd09ff1ced2bd7ffc13dAffected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 5ed1b048527bebe4529eb6e01c34dcc5d97ba5feAffected
  • 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b to before 2aaa41cf974f83a6fb105422bac4e2f107150774Affected
LinuxLinux
  • 4.19Affected
  • before 4.19Not affected
  • 5.10.270 through 5.10.*Not affected
  • 5.15.221 through 5.15.*Not affected
  • 6.1.188 through 6.1.*Not affected
  • 6.6.157 through 6.6.*Not affected
  • 6.12.110 through 6.12.*Not affected
  • 6.18.52 through 6.18.*Not affected
  • 7.2.6 through 7.2.*Not affected
  • 7.3 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.