{"id":25898,"date":"2026-09-18T04:32:03","date_gmt":"2026-09-17T20:32:03","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93039"},"modified":"2026-09-18T04:32:03","modified_gmt":"2026-09-17T20:32:03","slug":"cve-2026-93039","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-93039","title":{"rendered":"CVE-2026-93039 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: meson: Keep lin"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ASoC: meson: Keep link pointers valid on realloc failure<\/p>\n<p>meson_card_reallocate_links() grows the DAI link and private data<br \/>\narrays with two consecutive krealloc() calls and updates the owner<br \/>\npointers only after both calls have succeeded.<\/p>\n<p>A successful krealloc() may move the data: it frees the old block and<br \/>\nreturns a new one. When that happens for the link array and the second<br \/>\nkrealloc() then fails, card-&gt;dai_link still points to the block that<br \/>\nkrealloc() already freed, and the error path frees the new block too.<br \/>\nThe probe error path then calls meson_card_clean_references(), which<br \/>\ndereferences card-&gt;dai_link and kfree()s it again, resulting in a<br \/>\nuse-after-free and a double free.<\/p>\n<p>Commit card-&gt;dai_link and card-&gt;num_links right after the first<br \/>\nkrealloc() succeeds, so the pointer always refers to a valid allocation<br \/>\nthat meson_card_clean_references() can walk and free. krealloc() with<br \/>\n__GFP_ZERO zero-initializes the added entries, so walking them on the<br \/>\nerror path is safe. With both failure paths reduced to a plain return,<br \/>\ndrop the goto labels and the error message.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ASoC: meson: Keep link pointers valid on realloc failure<\/p>\n<p>meson_card_reallocate_links() grows the DAI link and private data<br \/>\narrays <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-25898","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/25898","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=25898"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=25898"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=25898"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}