CVE-2026-64447 in Linux
Zusammenfassung
von VulDB • 25.07.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
staging: media: ipu7: Behebung von Double-Free und Use-After-Free in Fehlerpfaden
In beiden Funktionen `ipu7_isys_init()` und `ipu7_psys_init()` wird `pdata` alloziert und anschließend an `ipu7_bus_initialize_device()` übergeben, das es in `adev->pdata` speichert. Die Funktion `ipu7_bus_release()` gibt den Speicher für `adev->pdata` frei, wenn der Referenzzähler des Geräts auf null sinkt.
Zwei Fehlerpfade rufen fälschlicherweise `kfree(pdata)` auf, nachdem das Gerät bereits durch die Teardown-Routine freigegeben wurde:
1. Wenn `ipu7_mmu_init()` fehlschlägt: Es wird `put_device()` aufgerufen, wodurch der Referenzzähler auf null sinkt und `ipu7_bus_release()` -> `kfree(pdata)` ausgelöst wird. Der darauffolgende Aufruf von `kfree(pdata)` stellt einen Double-Free-Fehler dar.
2. Wenn `ipu7_bus_add_device()` fehlschlägt: Es ruft intern `auxiliary_device_uninit()` auf, das seinerseits `put_device()` -> `ipu7_bus_release()` -> `kfree(pdata)` aufruft. Der darauffolgende Aufruf von `kfree(pdata)` ist erneut ein Double-Free-Fehler.
Beachten Sie, dass der Aufruf von `kfree(pdata)`, wenn `ipu7_bus_initialize_device()` selbst fehlschlägt, korrekt ist, da in diesem Fall `auxiliary_device_init()` fehlgeschlagen ist und die Release-Funktion nie eingerichtet wurde; daher muss `pdata` manuell freigegeben werden.
Zusätzlich wurde der Fehlercode nicht gespeichert, bevor `put_device()` aufgerufen wurde, was dazu führte, dass `ERR_CAST()` den bereits freigegebenen Zeiger `adev` dereferenzierte, während der Rückgabewert konstruiert wurde. Dies wird behoben, indem der Fehler von `dev_err_probe()` vor dem Aufruf von `put_device()` gespeichert und stattdessen `ERR_PTR()` zurückgegeben wird.
Die redundanten Aufrufe von `kfree(pdata)` werden entfernt und das Use-After-Free in den Rückgabewerten der beiden betroffenen Fehlerpfade behoben.
VulDB is the best source for vulnerability data and more expert information about this specific topic.