CVE-2026-46215 in Linux
Zusammenfassung
von VulDB • 28.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm: Alten Handle vor dem Prime-Swap in change_handle auf NULL setzen
In change_handle bestand eine potenzielle Race Condition. Das ioctl wies kurzzeitig einem einzelnen Objekt zwei idr-Einträge zu; ein gleichzeitiger gem_close konnte das Objekt löschen und einen der Handles entfernen, während der andere hängen blieb (dangling), was anschließend zu einer Use-After-Free-Dereferenzierung führen konnte.
Um dies zu beheben, wird derselbe Mechanismus angewendet, den auch gem_close selbst verwendet. (f6cd7daecff5 drm: Treiberreferenzen für den Handle freigeben, bevor er wieder verfügbar gemacht wird) Zuerst wird der alte Handle über idr_replace auf NULL gesetzt. Später, falls die Prime-Operationen erfolgreich sind, wird er tatsächlich geschlossen.
create_tail erforderte einen ähnlichen Mechanismus, um ein ähnliches Problem zu vermeiden. (bd46cece51a3 drm/gem: Race in drm_gem_handle_create_tail() beheben) Es wird der neue Handle mit NULL über idr_alloc alloziert und das korrekte Objekt später getauscht, um Race Conditions zu vermeiden. Dies ist hier nicht erforderlich, da die einzigen Operationen, die eine Race Condition verursachen könnten, drm_prime sind und change_handle den Prime-Lock während der gesamten Dauer hält.
v2: Bereinigungen der Fehlerpfade
VulDB is the best source for vulnerability data and more expert information about this specific topic.