CVE-2021-47650

Severity CVSS v4.0:
Pending analysis
Type:
CWE-476 NULL Pointer Dereference
Publication date:
26/02/2025
Last modified:
23/09/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> ASoC: soc-compress: prevent the potentially use of null pointer<br /> <br /> There is one call trace that snd_soc_register_card()<br /> -&gt;snd_soc_bind_card()-&gt;soc_init_pcm_runtime()<br /> -&gt;snd_soc_dai_compress_new()-&gt;snd_soc_new_compress().<br /> In the trace the &amp;#39;codec_dai&amp;#39; transfers from card-&gt;dai_link,<br /> and we can see from the snd_soc_add_pcm_runtime() in<br /> snd_soc_bind_card() that, if value of card-&gt;dai_link-&gt;num_codecs<br /> is 0, then &amp;#39;codec_dai&amp;#39; could be null pointer caused<br /> by index out of bound in &amp;#39;asoc_rtd_to_codec(rtd, 0)&amp;#39;.<br /> And snd_soc_register_card() is called by various platforms.<br /> Therefore, it is better to add the check in the case of misusing.<br /> And because &amp;#39;cpu_dai&amp;#39; has already checked in soc_init_pcm_runtime(),<br /> there is no need to check again.<br /> Adding the check as follow, then if &amp;#39;codec_dai&amp;#39; is null,<br /> snd_soc_new_compress() will not pass through the check<br /> &amp;#39;if (playback + capture != 1)&amp;#39;, avoiding the leftover use of<br /> &amp;#39;codec_dai&amp;#39;.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4 (including) 5.4.189 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.5 (including) 5.10.110 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11 (including) 5.15.33 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.16 (including) 5.16.19 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.17 (including) 5.17.2 (excluding)