CVE-2022-50616 in Linuxinformación

Resumen

por VulDB • 2026-05-30

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

regulator: core: Utilizar dispositivos diferentes para la asignación de recursos y la búsqueda en DT

A raíz de la siguiente discusión, existe un posible problema de UAF (Use-After-Free) entre regulator y mfd. https://lore.kernel.org/all/[email protected]/

A partir del análisis de Yingliang:

CPU A | CPU B mt6370_probe() | devm_mfd_add_devices() | | mt6370_regulator_probe() | regulator_register() | // asignar init_data y añadirlo a devres | regulator_of_get_init_data() i2c_unregister_device() | device_del() | devres_release_all() | // init_data se libera | release_nodes() | | // el uso de init_data provoca un UAF | regulator_register()

Es habitual utilizar el núcleo mfd para crear un dispositivo hijo para el regulador. Con el fin de realizar la búsqueda en DT (Device Tree) de los datos de inicialización (init data), el hijo que registró el regulador pasa su padre como parámetro. Esto hace que los recursos de init data se asignen a su padre, no a sí mismo. El problema ocurre cuando el dispositivo padre está a punto de liberarse y el núcleo del regulador aún está realizando algunas operaciones de restricción de init data para el regulador del dispositivo hijo.

Para solucionarlo, este parche amplía la API 'regulator_register' para utilizar dispositivos diferentes para la asignación de init data y la búsqueda en DT.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsable

Linux

Reservar

2025-12-08

Divulgación

2025-12-08

Moderación

aceptado

Artículo

VDB-334675

CPE

listo

EPSS

0.00193

KEV

no

Actividades

muy bajo

Fuentes

Do you need the next level of professionalism?

Upgrade your account now!