CVE-2026-93039
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.
How to fix
- Linux Linuxde33afc57f24538186bccf4c4f6c65dd38634fd8, 1c1485343b7c1c39dab7ecb9cd16ba49fd0ce642, 8db0a0fc84e80aa9924e0833aef6cc95df94e5a7, 41e92e0caa1fe3df2efaca346bfcaeb7fb9826ab, 0b30fbe6bf7cf6499b19dd886f466e7c9e820089, 8fec16898f184e5f8f8fdd09ff1ced2bd7ffc13d, 5ed1b048527bebe4529eb6e01c34dcc5d97ba5fe, 2aaa41cf974f83a6fb105422bac4e2f107150774 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < de33afc57f24538186bccf4c4f6c65dd38634fd8, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 1c1485343b7c1c39dab7ecb9cd16ba49fd0ce642, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 8db0a0fc84e80aa9924e0833aef6cc95df94e5a7, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 41e92e0caa1fe3df2efaca346bfcaeb7fb9826ab, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 0b30fbe6bf7cf6499b19dd886f466e7c9e820089, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 8fec16898f184e5f8f8fdd09ff1ced2bd7ffc13d, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 5ed1b048527bebe4529eb6e01c34dcc5d97ba5fe, 7864a79f37b55769b817d5e6c5ae0ca4bfdba93b ≤ v < 2aaa41cf974f83a6fb105422bac4e2f107150774, 4.19 | de33afc57f24538186bccf4c4f6c65dd38634fd8, 1c1485343b7c1c39dab7ecb9cd16ba49fd0ce642, 8db0a0fc84e80aa9924e0833aef6cc95df94e5a7, 41e92e0caa1fe3df2efaca346bfcaeb7fb9826ab, 0b30fbe6bf7cf6499b19dd886f466e7c9e820089, 8fec16898f184e5f8f8fdd09ff1ced2bd7ffc13d, 5ed1b048527bebe4529eb6e01c34dcc5d97ba5fe, 2aaa41cf974f83a6fb105422bac4e2f107150774 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.