CVE-2022-50616 in Linux
Zusammenfassung
von VulDB • 06.06.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
regulator: core: Verwenden Sie verschiedene Geräte für die Ressourcenallokation und die DT-Suche (Device Tree Lookup)
Im Anschluss an die untenstehende Diskussion besteht ein potenzielles Use-After-Free (UAF)-Problem zwischen Regulator und MFD. https://lore.kernel.org/all/[email protected]/
Aus der Analyse von Yingliang:
CPU A | CPU B mt6370_probe() | devm_mfd_add_devices() | | mt6370_regulator_probe() | regulator_register() | // Allokieren von init_data und Hinzufügen zu devres | regulator_of_get_init_data() i2c_unregister_device() | device_del() | devres_release_all() | // init_data wird freigegeben | release_nodes() | | // Verwendung von init_data verursacht UAF | regulator_register()
Es ist üblich, den MFD-Core (Multi-Function Device Core) zu verwenden, um ein untergeordnetes Gerät für den Regulator zu erstellen. Um die DT-Suche (Device Tree Lookup) für die init-Daten durchzuführen, gibt das Kind, das den Registrator registriert hat, seinen Elternknoten als Parameter weiter. Dies führt dazu, dass die init-Daten-Ressourcen seinem Elternknoten und nicht ihm selbst zugewiesen werden. Das Problem tritt auf, wenn das Elterngerät freigegeben wird und der Regulator-Core weiterhin einige Operationen der init-Daten-Einschränkung für den Regulator des untergeordneten Geräts ausführt.
Um dies zu beheben, erweitert dieser Patch die API 'regulator_register', um verschiedene Geräte für die Allokation der init-Daten und die DT-Suche zu verwenden.
If you want to get best quality of vulnerability data, you may have to visit VulDB.