CVE-2024-46798

In the Linux kernel, the following vulnerability has been resolved: ASoC: dapm: Fix UAF for snd_soc_pcm_runtime object When using kernel with the following extra config, - CONFIG_KASAN=y - CONFIG_KASAN_GENERIC=y - CONFIG_KASAN_INLINE=y - CONFIG_KASAN_VMALLOC=y - CONFIG_FRAME_WARN=4096 kernel detects that snd_pcm_suspend_all() access a freed 'snd_soc_pcm_runtime' object when the system is suspended, which leads to a use-after-free bug: [ 52.047746] BUG: KASAN: use-after-free in snd_pcm_suspend_all+0x1a8/0x270 [ 52.047765] Read of size 1 at addr ffff0000b9434d50 by task systemd-sleep/2330 [ 52.047785] Call trace: [ 52.047787] dump_backtrace+0x0/0x3c0 [ 52.047794] show_stack+0x34/0x50 [ 52.047797] dump_stack_lvl+0x68/0x8c [ 52.047802] print_address_description.constprop.0+0x74/0x2c0 [ 52.047809] kasan_report+0x210/0x230 [ 52.047815] __asan_report_load1_noabort+0x3c/0x50 [ 52.047820] snd_pcm_suspend_all+0x1a8/0x270 [ 52.047824] snd_soc_suspend+0x19c/0x4e0 The snd_pcm_sync_stop() has a NULL check on 'substream->runtime' before making any access. So we need to always set 'substream->runtime' to NULL everytime we kfree() it.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*

History

20 Sep 2024, 18:17

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/3033ed903b4f28b5e1ab66042084fbc2c48f8624 - () https://git.kernel.org/stable/c/3033ed903b4f28b5e1ab66042084fbc2c48f8624 - Patch
References () https://git.kernel.org/stable/c/5d13afd021eb43868fe03cef6da34ad08831ad6d - () https://git.kernel.org/stable/c/5d13afd021eb43868fe03cef6da34ad08831ad6d - Patch
References () https://git.kernel.org/stable/c/6a14fad8be178df6c4589667efec1789a3307b4e - () https://git.kernel.org/stable/c/6a14fad8be178df6c4589667efec1789a3307b4e - Patch
References () https://git.kernel.org/stable/c/8ca21e7a27c66b95a4b215edc8e45e5d66679f9f - () https://git.kernel.org/stable/c/8ca21e7a27c66b95a4b215edc8e45e5d66679f9f - Patch
References () https://git.kernel.org/stable/c/993b60c7f93fa1d8ff296b58f646a867e945ae89 - () https://git.kernel.org/stable/c/993b60c7f93fa1d8ff296b58f646a867e945ae89 - Patch
References () https://git.kernel.org/stable/c/b4a90b543d9f62d3ac34ec1ab97fc5334b048565 - () https://git.kernel.org/stable/c/b4a90b543d9f62d3ac34ec1ab97fc5334b048565 - Patch
References () https://git.kernel.org/stable/c/fe5046ca91d631ec432eee3bdb1f1c49b09c8b5e - () https://git.kernel.org/stable/c/fe5046ca91d631ec432eee3bdb1f1c49b09c8b5e - Patch
CWE CWE-416
First Time Linux linux Kernel
Linux
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 7.8
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.11:rc6:*:*:*:*:*:*

20 Sep 2024, 12:30

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: dapm: Corregir UAF para el objeto snd_soc_pcm_runtime Cuando se usa el kernel con la siguiente configuración adicional, - CONFIG_KASAN=y - CONFIG_KASAN_GENERIC=y - CONFIG_KASAN_INLINE=y - CONFIG_KASAN_VMALLOC=y - CONFIG_FRAME_WARN=4096 el kernel detecta que snd_pcm_suspend_all() accede a un objeto 'snd_soc_pcm_runtime' liberado cuando el sistema está suspendido, lo que conduce a un error de use after free: [ 52.047746] ERROR: KASAN: use after free en snd_pcm_suspend_all+0x1a8/0x270 [ 52.047765] Lectura de tamaño 1 en la dirección ffff0000b9434d50 por la tarea systemd-sleep/2330 [ 52.047785] Seguimiento de llamadas: [ 52.047787] dump_backtrace+0x0/0x3c0 [ 52.047794] show_stack+0x34/0x50 [ 52.047797] dump_stack_lvl+0x68/0x8c [ 52.047802] print_address_description.constprop.0+0x74/0x2c0 [ 52.047809] kasan_report+0x210/0x230 [ 52.047815] __asan_report_load1_noabort+0x3c/0x50 [ 52.047820] snd_pcm_suspend_all+0x1a8/0x270 [ 52.047824] snd_soc_suspend+0x19c/0x4e0 La función snd_pcm_sync_stop() tiene una comprobación NULL en 'substream->runtime' antes de realizar cualquier acceso. Por lo tanto, siempre debemos establecer 'substream->runtime' en NULL cada vez que lo ejecutamos con kfree().

18 Sep 2024, 08:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-09-18 08:15

Updated : 2024-09-20 18:17


NVD link : CVE-2024-46798

Mitre link : CVE-2024-46798

CVE.ORG link : CVE-2024-46798


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free