CVE-2024-41004

In the Linux kernel, the following vulnerability has been resolved: tracing: Build event generation tests only as modules The kprobes and synth event generation test modules add events and lock (get a reference) those event file reference in module init function, and unlock and delete it in module exit function. This is because those are designed for playing as modules. If we make those modules as built-in, those events are left locked in the kernel, and never be removed. This causes kprobe event self-test failure as below. [ 97.349708] ------------[ cut here ]------------ [ 97.353453] WARNING: CPU: 3 PID: 1 at kernel/trace/trace_kprobe.c:2133 kprobe_trace_self_tests_init+0x3f1/0x480 [ 97.357106] Modules linked in: [ 97.358488] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 6.9.0-g699646734ab5-dirty #14 [ 97.361556] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 [ 97.363880] RIP: 0010:kprobe_trace_self_tests_init+0x3f1/0x480 [ 97.365538] Code: a8 24 08 82 e9 ae fd ff ff 90 0f 0b 90 48 c7 c7 e5 aa 0b 82 e9 ee fc ff ff 90 0f 0b 90 48 c7 c7 2d 61 06 82 e9 8e fd ff ff 90 <0f> 0b 90 48 c7 c7 33 0b 0c 82 89 c6 e8 6e 03 1f ff 41 ff c7 e9 90 [ 97.370429] RSP: 0000:ffffc90000013b50 EFLAGS: 00010286 [ 97.371852] RAX: 00000000fffffff0 RBX: ffff888005919c00 RCX: 0000000000000000 [ 97.373829] RDX: ffff888003f40000 RSI: ffffffff8236a598 RDI: ffff888003f40a68 [ 97.375715] RBP: 0000000000000000 R08: 0000000000000001 R09: 0000000000000000 [ 97.377675] R10: ffffffff811c9ae5 R11: ffffffff8120c4e0 R12: 0000000000000000 [ 97.379591] R13: 0000000000000001 R14: 0000000000000015 R15: 0000000000000000 [ 97.381536] FS: 0000000000000000(0000) GS:ffff88807dcc0000(0000) knlGS:0000000000000000 [ 97.383813] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 97.385449] CR2: 0000000000000000 CR3: 0000000002244000 CR4: 00000000000006b0 [ 97.387347] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 97.389277] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 97.391196] Call Trace: [ 97.391967] <TASK> [ 97.392647] ? __warn+0xcc/0x180 [ 97.393640] ? kprobe_trace_self_tests_init+0x3f1/0x480 [ 97.395181] ? report_bug+0xbd/0x150 [ 97.396234] ? handle_bug+0x3e/0x60 [ 97.397311] ? exc_invalid_op+0x1a/0x50 [ 97.398434] ? asm_exc_invalid_op+0x1a/0x20 [ 97.399652] ? trace_kprobe_is_busy+0x20/0x20 [ 97.400904] ? tracing_reset_all_online_cpus+0x15/0x90 [ 97.402304] ? kprobe_trace_self_tests_init+0x3f1/0x480 [ 97.403773] ? init_kprobe_trace+0x50/0x50 [ 97.404972] do_one_initcall+0x112/0x240 [ 97.406113] do_initcall_level+0x95/0xb0 [ 97.407286] ? kernel_init+0x1a/0x1a0 [ 97.408401] do_initcalls+0x3f/0x70 [ 97.409452] kernel_init_freeable+0x16f/0x1e0 [ 97.410662] ? rest_init+0x1f0/0x1f0 [ 97.411738] kernel_init+0x1a/0x1a0 [ 97.412788] ret_from_fork+0x39/0x50 [ 97.413817] ? rest_init+0x1f0/0x1f0 [ 97.414844] ret_from_fork_asm+0x11/0x20 [ 97.416285] </TASK> [ 97.417134] irq event stamp: 13437323 [ 97.418376] hardirqs last enabled at (13437337): [<ffffffff8110bc0c>] console_unlock+0x11c/0x150 [ 97.421285] hardirqs last disabled at (13437370): [<ffffffff8110bbf1>] console_unlock+0x101/0x150 [ 97.423838] softirqs last enabled at (13437366): [<ffffffff8108e17f>] handle_softirqs+0x23f/0x2a0 [ 97.426450] softirqs last disabled at (13437393): [<ffffffff8108e346>] __irq_exit_rcu+0x66/0xd0 [ 97.428850] ---[ end trace 0000000000000000 ]--- And also, since we can not cleanup dynamic_event file, ftracetest are failed too. To avoid these issues, build these tests only as modules.
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:6.10:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*

History

07 Oct 2025, 20:10

Type Values Removed Values Added
CWE NVD-CWE-noinfo
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/32ef4dc2b1caf5825c0cf50646479608311cafc3 - () https://git.kernel.org/stable/c/32ef4dc2b1caf5825c0cf50646479608311cafc3 - Patch
References () https://git.kernel.org/stable/c/3572bd5689b0812b161b40279e39ca5b66d73e88 - () https://git.kernel.org/stable/c/3572bd5689b0812b161b40279e39ca5b66d73e88 - Patch
References () https://git.kernel.org/stable/c/55d5d08174366efe57ca9e79964828b20c626c45 - () https://git.kernel.org/stable/c/55d5d08174366efe57ca9e79964828b20c626c45 - Patch
References () https://git.kernel.org/stable/c/72a0199b361df2387018697b023fdcdd357449a9 - () https://git.kernel.org/stable/c/72a0199b361df2387018697b023fdcdd357449a9 - Patch
References () https://git.kernel.org/stable/c/98a7bfc48fffe170a60d87a5cbb7cdddf08184c3 - () https://git.kernel.org/stable/c/98a7bfc48fffe170a60d87a5cbb7cdddf08184c3 - Patch
References () https://git.kernel.org/stable/c/a85bae262ccecc52a40c466ec067f6c915e0839d - () https://git.kernel.org/stable/c/a85bae262ccecc52a40c466ec067f6c915e0839d - Patch
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.10:rc1:*:*:*:*:*:*
First Time Linux linux Kernel
Linux

21 Nov 2024, 09:32

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: rastreo: crea pruebas de generación de eventos solo como módulos. Los módulos de prueba de generación de eventos kprobes y synth agregan eventos y bloquean (obtienen una referencia) esas referencias de archivos de eventos en la función de inicio del módulo, y desbloquean y elimínelo en la función de salida del módulo. Esto se debe a que están diseñados para jugar como módulos. Si hacemos que esos módulos estén integrados, esos eventos quedan bloqueados en el kernel y nunca se eliminan. Esto provoca una falla en la autoprueba del evento kprobe como se muestra a continuación. [97.349708] ------------[ cortar aquí ]------------ [ 97.353453] ADVERTENCIA: CPU: 3 PID: 1 en kernel/trace/trace_kprobe.c :2133 kprobe_trace_self_tests_init+0x3f1/0x480 [ 97.357106] Módulos vinculados en: [ 97.358488] CPU: 3 PID: 1 Comm: swapper/0 No contaminado 6.9.0-g699646734ab5-dirty #14 [ 97.361556] Nombre de hardware: PC estándar (i440FX + PIIX, 1996), BIOS 1.15.0-1 01/04/2014 [ 97.363880] RIP: 0010:kprobe_trace_self_tests_init+0x3f1/0x480 [ 97.365538] Código: a8 24 08 82 e9 ae fd ff ff 90 0f 0b 90 48 c7 c7 e5 aa 0b 82 e9 ee fc ff ff 90 0f 0b 90 48 c7 c7 2d 61 06 82 e9 8e fd ff 90 &lt;0f&gt; 0b 90 48 c7 c7 33 0b 0c 82 89 c6 e8 6e 03 1f ff 41 ff c7 e9 0 [ 97.370429] RSP: 0000:ffffc90000013b50 EFLAGS: 00010286 [ 97.371852] RAX: 00000000ffffff0 RBX: ffff888005919c00 RCX: 0000000000000000 [ 97.3 73829] RDX: ffff888003f40000 RSI: ffffffff8236a598 RDI: ffff888003f40a68 [ 97.375715] RBP: 00000000000000000 R08: 0000000000000001 R09: 000000000 [97.377675] R10: ffffffff811c9ae5 R11: ffffffff8120c4e0 R12: 0000000000000000 [ 97.379591] R13: 00000000000000001 R14: 0000000000000015 R15: 0000000000 000000 [ 97.381536] FS: 0000000000000000(0000) GS:ffff88807dcc0000(0000) knlGS:000000000000000000 [ 97.383813] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 97.385449] CR2: 0000000000000000 CR3: 0000000002244000 CR4: 00000000000006b0 [ 97.387347] DR0: 0000000000 000000 DR1: 0000000000000000 DR2: 0000000000000000 [ 97.389277] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [ 97.3911 96] Seguimiento de llamadas: [97.391967] &lt; TAREA&gt; [ 97.392647] ? __advertir+0xcc/0x180 [ 97.393640] ? kprobe_trace_self_tests_init+0x3f1/0x480 [97.395181]? report_bug+0xbd/0x150 [97.396234]? handle_bug+0x3e/0x60 [97.397311]? exc_invalid_op+0x1a/0x50 [97.398434]? asm_exc_invalid_op+0x1a/0x20 [97.399652]? trace_kprobe_is_busy+0x20/0x20 [97.400904]? tracing_reset_all_online_cpus+0x15/0x90 [97.402304]? kprobe_trace_self_tests_init+0x3f1/0x480 [97.403773]? init_kprobe_trace+0x50/0x50 [ 97.404972] do_one_initcall+0x112/0x240 [ 97.406113] do_initcall_level+0x95/0xb0 [ 97.407286] ? kernel_init+0x1a/0x1a0 [97.408401] do_initcalls+0x3f/0x70 [97.409452] kernel_init_freeable+0x16f/0x1e0 [97.410662] ? rest_init+0x1f0/0x1f0 [97.411738] kernel_init+0x1a/0x1a0 [97.412788] ret_from_fork+0x39/0x50 [97.413817] ? rest_init+0x1f0/0x1f0 [ 97.414844] ret_from_fork_asm+0x11/0x20 [ 97.416285] [ 97.417134] sello de evento irq: 13437323 [ 97.418376] hardirqs habilitado por última vez en (13437337): ffffff8110bc0c&gt;] console_unlock+0x11c/0x150 [ 97.421285] hardirqs deshabilitado por última vez en (13437370): [] console_unlock+0x101/0x150 [ 97.423838] softirqs habilitado por última vez en (13437366): [] handle_softirqs+0x23f/0x2a0 [ 97.426450] softirqs se deshabilitó por última vez en (13437393 ): [] __irq_exit_rcu+0x66/0xd0 [ 97.428850] ---[ end trace 0000000000000000 ]--- Y además, como no podemos limpiar el archivo Dynamic_event, ftracetest también falla. Para evitar estos problemas, cree estas pruebas solo como módulos.
References () https://git.kernel.org/stable/c/32ef4dc2b1caf5825c0cf50646479608311cafc3 - () https://git.kernel.org/stable/c/32ef4dc2b1caf5825c0cf50646479608311cafc3 -
References () https://git.kernel.org/stable/c/3572bd5689b0812b161b40279e39ca5b66d73e88 - () https://git.kernel.org/stable/c/3572bd5689b0812b161b40279e39ca5b66d73e88 -
References () https://git.kernel.org/stable/c/55d5d08174366efe57ca9e79964828b20c626c45 - () https://git.kernel.org/stable/c/55d5d08174366efe57ca9e79964828b20c626c45 -
References () https://git.kernel.org/stable/c/72a0199b361df2387018697b023fdcdd357449a9 - () https://git.kernel.org/stable/c/72a0199b361df2387018697b023fdcdd357449a9 -
References () https://git.kernel.org/stable/c/98a7bfc48fffe170a60d87a5cbb7cdddf08184c3 - () https://git.kernel.org/stable/c/98a7bfc48fffe170a60d87a5cbb7cdddf08184c3 -
References () https://git.kernel.org/stable/c/a85bae262ccecc52a40c466ec067f6c915e0839d - () https://git.kernel.org/stable/c/a85bae262ccecc52a40c466ec067f6c915e0839d -

12 Jul 2024, 16:34

Type Values Removed Values Added
New CVE

Information

Published : 2024-07-12 13:15

Updated : 2025-10-07 20:10


NVD link : CVE-2024-41004

Mitre link : CVE-2024-41004

CVE.ORG link : CVE-2024-41004


JSON object : View

Products Affected

linux

  • linux_kernel