Vulnerabilidad en kernel de Linux (CVE-2025-38136)
Gravedad:
Pendiente de análisis
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
03/07/2025
Última modificación:
03/07/2025
Descripción
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: usb: renesas_usbhs: Reordenar el manejo del reloj y la administración de energía en la sonda Reordenar la secuencia de inicialización en `usbhs_probe()` para habilitar PM en tiempo de ejecución antes de acceder a los registros, lo que evita posibles fallos debido a relojes no inicializados. Actualmente, en la ruta de la sonda, se accede a los registros antes de habilitar los relojes, lo que lleva a un aborto externo síncrono en el SoC RZ/V2H. El flujo de llamada problemático es el siguiente: usbhs_probe() usbhs_sys_clock_ctrl() usbhs_bset() usbhs_write() iowrite16() <-- Acceso a registros antes de habilitar los relojes Dado que `iowrite16()` se realiza sin garantizar que los relojes requeridos estén habilitados, esto puede llevar a errores de acceso. Para solucionar esto, habilite el tiempo de ejecución de PM temprano en la función de sonda y asegúrese de que los relojes se adquieran antes del acceso al registro, lo que evita fallos como el siguiente en RZ/V2H: [13.272640] Error interno: aborto externo síncrono: 0000000096000010 [#1] PREEMPT SMP [13.280814] Módulos vinculados: cec renesas_usbhs(+) drm_kms_helper fuse drm backlight ipv6 [13.289088] CPU: 1 UID: 0 PID: 195 Comm: (udev-worker) Not tainted 6.14.0-rc7+ #98 [13.296640] Nombre del hardware: Renesas RZ/V2H EVK Board based on r9a09g057h44 (DT) [13.303834] pstate: 60400005 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [13.310770] pc : usbhs_bset+0x14/0x4c [renesas_usbhs] [13.315831] lr : usbhs_probe+0x2e4/0x5ac [renesas_usbhs] [13.321138] sp : ffff8000827e3850 [13.324438] x29: ffff8000827e3860 x28: 0000000000000000 x27: ffff8000827e3ca0 [13.331554] x26: ffff8000827e3ba0 x25: ffff800081729668 x24: 0000000000000025 [13.338670] x23: ffff0000c0f08000 x22: 0000000000000000 x21: ffff0000c0f08010 [13.345783] x20: 0000000000000000 x19: ffff0000c3b52080 x18: 00000000ffffffff [13.352895] x17: 000000000000000 x16: 000000000000000 x15: ffff8000827e36ce [13.360009] x14: 00000000000003d7 x13: 000000000000003d7 x12: 0000000000000000 [13.367122] x11: 0000000000000000 x10: 0000000000000aa0 x9: ffff8000827e3750 [13.374235] x8: ffff0000c1850b00 x7: 0000000003826060 x6: 000000000000001c [13.381347] x5 : 000000030d5fcc00 x4 : ffff8000825c0000 x3 : 0000000000000000 [13.388459] x2 : 0000000000000400 x1 : 0000000000000000 x0 : ffff0000c3b52080 [13.395574] Rastreo de llamadas: [13.398013] usbhs_bset+0x14/0x4c [renesas_usbhs] (P) [13.403076] platform_probe+0x68/0xdc [13.406738] really_probe+0xbc/0x2c0 [13.410306] __driver_probe_device+0x78/0x120 [13.414653] driver_probe_device+0x3c/0x154 [13.418825] __driver_attach+0x90/0x1a0 [13.422647] bus_for_each_dev+0x7c/0xe0 [13.426470] driver_attach+0x24/0x30 [13.430032] bus_add_driver+0xe4/0x208 [13.433766] driver_register+0x68/0x130 [13.437587] __platform_driver_register+0x24/0x30 [13.442273] renesas_usbhs_driver_init+0x20/0x1000 [renesas_usbhs] [13.448450] do_one_initcall+0x60/0x1d4 [13.452276] do_init_module+0x54/0x1f8 [13.456014] load_module+0x1754/0x1c98 [13.459750] init_module_from_file+0x88/0xcc [13.464004] __arm64_sys_finit_module+0x1c4/0x328 [13.468689] invoke_syscall+0x48/0x104 [13.472426] el0_svc_common.constprop.0+0xc0/0xe0 [13.477113] do_el0_svc+0x1c/0x28 [13.480415] el0_svc+0x30/0xcc [13.483460] el0t_64_sync_handler+0x10c/0x138 [13.487800] el0t_64_sync+0x198/0x19c [13.491453] Code: 2a0103e1 12003c42 12003c63 8b010084 (79400084) [13.497522] ---[ fin de seguimiento 0000000000000000 ]---
Impacto
Referencias a soluciones, herramientas e información
- https://git.kernel.org/stable/c/095cc0b5888acc228f12344e85b17539b9ce9367
- https://git.kernel.org/stable/c/0a1e16a6cbf4452b46f20b862d6141a1e90844ee
- https://git.kernel.org/stable/c/155453ada562c450a4ff5fcf4852b9fa5b6b793a
- https://git.kernel.org/stable/c/1637623ad6205162b17804d07512e6f4cbd2a050
- https://git.kernel.org/stable/c/6bab152e817fd41b9e178fa6b275354795c9703d
- https://git.kernel.org/stable/c/d4c368e4a638ddf4a9d6d687b0ff691aa46cce53
- https://git.kernel.org/stable/c/db96a4fd8614d47c0def265e0e6c996b0ee52a38
- https://git.kernel.org/stable/c/ffb34a60ce86656ba12d46e91f1ccc71dd221251