CVE-2024-53215

In the Linux kernel, the following vulnerability has been resolved: svcrdma: fix miss destroy percpu_counter in svc_rdma_proc_init() There's issue as follows: RPC: Registered rdma transport module. RPC: Registered rdma backchannel transport module. RPC: Unregistered rdma transport module. RPC: Unregistered rdma backchannel transport module. BUG: unable to handle page fault for address: fffffbfff80c609a PGD 123fee067 P4D 123fee067 PUD 123fea067 PMD 10c624067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI RIP: 0010:percpu_counter_destroy_many+0xf7/0x2a0 Call Trace: <TASK> __die+0x1f/0x70 page_fault_oops+0x2cd/0x860 spurious_kernel_fault+0x36/0x450 do_kern_addr_fault+0xca/0x100 exc_page_fault+0x128/0x150 asm_exc_page_fault+0x26/0x30 percpu_counter_destroy_many+0xf7/0x2a0 mmdrop+0x209/0x350 finish_task_switch.isra.0+0x481/0x840 schedule_tail+0xe/0xd0 ret_from_fork+0x23/0x80 ret_from_fork_asm+0x1a/0x30 </TASK> If register_sysctl() return NULL, then svc_rdma_proc_cleanup() will not destroy the percpu counters which init in svc_rdma_proc_init(). If CONFIG_HOTPLUG_CPU is enabled, residual nodes may be in the 'percpu_counters' list. The above issue may occur once the module is removed. If the CONFIG_HOTPLUG_CPU configuration is not enabled, memory leakage occurs. To solve above issue just destroy all percpu counters when register_sysctl() return NULL.
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:*:*:*:*:*:*:*:*

History

03 Feb 2025, 15:27

Type Values Removed Values Added
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
First Time Linux linux Kernel
Linux
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
CWE CWE-401
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: svcrdma: se corrige la falla en la destrucción de percpu_counter en svc_rdma_proc_init(). El problema es el siguiente: RPC: módulo de transporte rdma registrado. RPC: módulo de transporte de canal de retorno rdma registrado. RPC: módulo de transporte rdma no registrado. RPC: módulo de transporte de canal de retorno rdma no registrado. ERROR: no se puede gestionar el error de página para la dirección: fffffbfff80c609a PGD 123fee067 P4D 123fee067 PUD 123fea067 PMD 10c624067 PTE 0 Oops: Oops: 0000 [#1] PREEMPT SMP KASAN NOPTI RIP: 0010:percpu_counter_destroy_many+0xf7/0x2a0 Seguimiento de llamadas: __die+0x1f/0x70 page_fault_oops+0x2cd/0x860 spurious_kernel_fault+0x36/0x450 do_kern_addr_fault+0xca/0x100 exc_page_fault+0x128/0x150 asm_exc_page_fault+0x26/0x30 percpu_counter_destroy_many+0xf7/0x2a0 mmdrop+0x209/0x350 finish_task_switch.isra.0+0x481/0x840 schedule_tail+0xe/0xd0 ret_from_fork+0x23/0x80 ret_from_fork_asm+0x1a/0x30 Si register_sysctl() devuelve NULL, entonces svc_rdma_proc_cleanup() no destruirá los contadores por CPU que se inicializan en svc_rdma_proc_init(). Si CONFIG_HOTPLUG_CPU está habilitado, los nodos residuales pueden estar en la lista 'percpu_counters'. El problema anterior puede ocurrir una vez que se elimina el módulo. Si la configuración CONFIG_HOTPLUG_CPU no está habilitada, se produce una pérdida de memoria. Para resolver el problema anterior, simplemente destruya todos los contadores por CPU cuando register_sysctl() devuelva NULL.
References () https://git.kernel.org/stable/c/1c9a99c89e45b22eb556fd2f3f729f2683f247d5 - () https://git.kernel.org/stable/c/1c9a99c89e45b22eb556fd2f3f729f2683f247d5 - Patch
References () https://git.kernel.org/stable/c/20322edcbad82a60321a8615a99ca73a9611115f - () https://git.kernel.org/stable/c/20322edcbad82a60321a8615a99ca73a9611115f - Patch
References () https://git.kernel.org/stable/c/94d2d6d398706ab7218a26d61e12919c4b498e09 - () https://git.kernel.org/stable/c/94d2d6d398706ab7218a26d61e12919c4b498e09 - Patch
References () https://git.kernel.org/stable/c/a12c897adf40b6e2b4a56e6912380c31bd7b2479 - () https://git.kernel.org/stable/c/a12c897adf40b6e2b4a56e6912380c31bd7b2479 - Patch
References () https://git.kernel.org/stable/c/ce89e742a4c12b20f09a43fec1b21db33f2166cd - () https://git.kernel.org/stable/c/ce89e742a4c12b20f09a43fec1b21db33f2166cd - Patch
References () https://git.kernel.org/stable/c/ebf47215d46992caea660ec01cd618005d9e687a - () https://git.kernel.org/stable/c/ebf47215d46992caea660ec01cd618005d9e687a - Patch

27 Dec 2024, 14:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-12-27 14:15

Updated : 2025-02-03 15:27


NVD link : CVE-2024-53215

Mitre link : CVE-2024-53215

CVE.ORG link : CVE-2024-53215


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-401

Missing Release of Memory after Effective Lifetime