{"id":33383,"date":"2026-10-06T20:31:53","date_gmt":"2026-10-06T12:31:53","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98314"},"modified":"2026-10-06T20:31:53","modified_gmt":"2026-10-06T12:31:53","slug":"cve-2026-98314","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98314","title":{"rendered":"CVE-2026-98314 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: pcm: set timer-"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: pcm: set timer-&gt;private_data before registering the PCM timer<\/p>\n<p>snd_pcm_timer_init() calls snd_device_register() to link the new<br \/>\nstruct snd_timer into the global timer list while it still carries<br \/>\nhw.c_resolution = snd_pcm_timer_resolution (and hw.start\/hw.stop),<br \/>\nand only afterwards sets timer-&gt;private_data = substream.<\/p>\n<p>Once the timer is on the list under register_mutex, a concurrent<br \/>\nreader can already reach it through the same mutex and invoke these<br \/>\ncallbacks. \/proc\/asound\/timers does this via c_resolution(), and<br \/>\nsnd_timer_open()+snd_timer_start() reach start()\/stop() the same way.<br \/>\nAll three dereference timer-&gt;private_data, which for this brief<br \/>\nwindow is NULL, giving a NULL-pointer dereference:<\/p>\n<p>  substream = timer-&gt;private_data;<br \/>\n  return substream-&gt;runtime ? &#8230;   \/\/ substream is NULL<\/p>\n<p>Move the private_data\/private_free assignment before<br \/>\nsnd_device_register() so the timer is never visible on the list<br \/>\nwithout its private_data set. On the snd_device_register() failure<br \/>\npath, private_free() (snd_pcm_timer_free()) can now run, but it only<br \/>\ndoes substream-&gt;timer = NULL, which is already NULL at that point<br \/>\nsince substream-&gt;timer is set to the new timer just once, after a<br \/>\nsuccessful registration &#8212; so the failure path stays safe.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>ALSA: pcm: set timer-&gt;private_data before registering the PCM timer<\/p>\n<p>snd_pcm_timer_init() calls snd_device_register() to link the n<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-33383","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/33383","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=33383"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=33383"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=33383"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}