CVE-2024-53157

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_scpi: Check the DVFS OPP count returned by the firmware Fix a kernel crash with the below call trace when the SCPI firmware returns OPP count of zero. dvfs_info.opp_count may be zero on some platforms during the reboot test, and the kernel will crash after dereferencing the pointer to kcalloc(info->count, sizeof(*opp), GFP_KERNEL). | Unable to handle kernel NULL pointer dereference at virtual address 0000000000000028 | Mem abort info: | ESR = 0x96000004 | Exception class = DABT (current EL), IL = 32 bits | SET = 0, FnV = 0 | EA = 0, S1PTW = 0 | Data abort info: | ISV = 0, ISS = 0x00000004 | CM = 0, WnR = 0 | user pgtable: 4k pages, 48-bit VAs, pgdp = 00000000faefa08c | [0000000000000028] pgd=0000000000000000 | Internal error: Oops: 96000004 [#1] SMP | scpi-hwmon: probe of PHYT000D:00 failed with error -110 | Process systemd-udevd (pid: 1701, stack limit = 0x00000000aaede86c) | CPU: 2 PID: 1701 Comm: systemd-udevd Not tainted 4.19.90+ #1 | Hardware name: PHYTIUM LTD Phytium FT2000/4/Phytium FT2000/4, BIOS | pstate: 60000005 (nZCv daif -PAN -UAO) | pc : scpi_dvfs_recalc_rate+0x40/0x58 [clk_scpi] | lr : clk_register+0x438/0x720 | Call trace: | scpi_dvfs_recalc_rate+0x40/0x58 [clk_scpi] | devm_clk_hw_register+0x50/0xa0 | scpi_clk_ops_init.isra.2+0xa0/0x138 [clk_scpi] | scpi_clocks_probe+0x528/0x70c [clk_scpi] | platform_drv_probe+0x58/0xa8 | really_probe+0x260/0x3d0 | driver_probe_device+0x12c/0x148 | device_driver_attach+0x74/0x98 | __driver_attach+0xb4/0xe8 | bus_for_each_dev+0x88/0xe0 | driver_attach+0x30/0x40 | bus_add_driver+0x178/0x2b0 | driver_register+0x64/0x118 | __platform_driver_register+0x54/0x60 | scpi_clocks_driver_init+0x24/0x1000 [clk_scpi] | do_one_initcall+0x54/0x220 | do_init_module+0x54/0x1c8 | load_module+0x14a4/0x1668 | __se_sys_finit_module+0xf8/0x110 | __arm64_sys_finit_module+0x24/0x30 | el0_svc_common+0x78/0x170 | el0_svc_handler+0x38/0x78 | el0_svc+0x8/0x340 | Code: 937d7c00 a94153f3 a8c27bfd f9400421 (b8606820) | ---[ end trace 06feb22469d89fa8 ]--- | Kernel panic - not syncing: Fatal exception | SMP: stopping secondary CPUs | Kernel Offset: disabled | CPU features: 0x10,a0002008 | Memory Limit: none
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:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

07 Jan 2025, 16:02

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: firmware: arm_scpi: Verificar el recuento de OPP de DVFS devuelto por el firmware Corrige un fallo del kernel con el siguiente seguimiento de llamadas cuando el firmware SCPI devuelve un recuento de OPP de cero. dvfs_info.opp_count puede ser cero en algunas plataformas durante la prueba de reinicio, y el kernel se bloqueará después de desreferenciar el puntero a kcalloc(info->count, sizeof(*opp), GFP_KERNEL). | No se puede gestionar la desreferencia del puntero NULL del kernel en la dirección virtual 0000000000000028 | Información de aborto de memoria: | ESR = 0x96000004 | Clase de excepción = DABT (EL actual), IL = 32 bits | SET = 0, FnV = 0 | EA = 0, S1PTW = 0 | Información de aborto de datos: | ISV = 0, ISS = 0x00000004 | CM = 0, WnR = 0 | usuario pgtable: 4k páginas, VAs de 48 bits, pgdp = 00000000faefa08c | [0000000000000028] pgd=0000000000000000 | Error interno: Oops: 96000004 [#1] SMP | scpi-hwmon: la sonda de PHYT000D:00 falló con el error -110 | Proceso systemd-udevd (pid: 1701, límite de pila = 0x00000000aaede86c) | CPU: 2 PID: 1701 Comm: systemd-udevd No contaminado 4.19.90+ #1 | Nombre del hardware: PHYTIUM LTD Phytium FT2000/4/Phytium FT2000/4, BIOS | pstate: 60000005 (nZCv daif -PAN -UAO) | pc : scpi_dvfs_recalc_rate+0x40/0x58 [clk_scpi] | lr : clk_register+0x438/0x720 | Rastreo de llamadas: | scpi_dvfs_recalc_rate+0x40/0x58 [clk_scpi] | devm_clk_hw_register+0x50/0xa0 | scpi_clk_ops_init.isra.2+0xa0/0x138 [clk_scpi] | scpi_clocks_probe+0x528/0x70c [clk_scpi] | plataforma_drv_probe+0x58/0xa8 | realmente_probe+0x260/0x3d0 | dispositivo_sonda_controlador+0x12c/0x148 | adjuntar_controlador_dispositivo+0x74/0x98 | __adjuntar_controlador+0xb4/0xe8 | bus_para_cada_dispositivo+0x88/0xe0 | adjuntar_controlador+0x30/0x40 | agregar_controlador_bus+0x178/0x2b0 | registro_controlador+0x64/0x118 | __registro_controlador_plataforma+0x54/0x60 | scpi_clocks_driver_init+0x24/0x1000 [clk_scpi] | hacer_una_llamada_inicio+0x54/0x220 | do_init_module+0x54/0x1c8 | load_module+0x14a4/0x1668 | __se_sys_finit_module+0xf8/0x110 | __arm64_sys_finit_module+0x24/0x30 | el0_svc_common+0x78/0x170 | el0_svc_handler+0x38/0x78 | el0_svc+0x8/0x340 | Código: 937d7c00 a94153f3 a8c27bfd f9400421 (b8606820) | ---[ fin del seguimiento 06feb22469d89fa8 ]--- | Pánico del kernel: no se sincroniza: Excepción fatal | SMP: deteniendo las CPU secundarias | Desplazamiento del kernel: deshabilitado | Características de la CPU: 0x10,a0002008 | Límite de memoria: ninguno
CWE CWE-476
First Time Linux linux Kernel
Linux
References () https://git.kernel.org/stable/c/025067eeb945aa17c7dd483a63960125b7efb577 - () https://git.kernel.org/stable/c/025067eeb945aa17c7dd483a63960125b7efb577 - Patch
References () https://git.kernel.org/stable/c/06258e57fee253f4046d3a6a86d7fde09f596eac - () https://git.kernel.org/stable/c/06258e57fee253f4046d3a6a86d7fde09f596eac - Patch
References () https://git.kernel.org/stable/c/109aa654f85c5141e813b2cd1bd36d90be678407 - () https://git.kernel.org/stable/c/109aa654f85c5141e813b2cd1bd36d90be678407 - Patch
References () https://git.kernel.org/stable/c/12e2c520a0a4202575e4a45ea41f06a8e9aa3417 - () https://git.kernel.org/stable/c/12e2c520a0a4202575e4a45ea41f06a8e9aa3417 - Patch
References () https://git.kernel.org/stable/c/2a5b8de6fcb944f9af0c5fcb30bb0c039705e051 - () https://git.kernel.org/stable/c/2a5b8de6fcb944f9af0c5fcb30bb0c039705e051 - Patch
References () https://git.kernel.org/stable/c/380c0e1d96f3b522f3170c18ee5e0f1a28fec5d6 - () https://git.kernel.org/stable/c/380c0e1d96f3b522f3170c18ee5e0f1a28fec5d6 - Patch
References () https://git.kernel.org/stable/c/8be4e51f3ecfb0915e3510b600c4cce0dc68a383 - () https://git.kernel.org/stable/c/8be4e51f3ecfb0915e3510b600c4cce0dc68a383 - Patch
References () https://git.kernel.org/stable/c/9beaff47bcea5eec7d4ead98f5043057161fd71a - () https://git.kernel.org/stable/c/9beaff47bcea5eec7d4ead98f5043057161fd71a - Patch
References () https://git.kernel.org/stable/c/dfc9c2aa7f04f7db7e7225a5e118a24bf1c3b325 - () https://git.kernel.org/stable/c/dfc9c2aa7f04f7db7e7225a5e118a24bf1c3b325 - Patch
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

24 Dec 2024, 12:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-12-24 12:15

Updated : 2025-01-07 16:02


NVD link : CVE-2024-53157

Mitre link : CVE-2024-53157

CVE.ORG link : CVE-2024-53157


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-476

NULL Pointer Dereference