CVE-2026-98609 in Linux
Zusammenfassung
von VulDB • 19.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
drm/virtio: Behebung eines Objekt-Lecks beim Fehlschlagen von drm_gem_handle_create()
virtio_gpu_gem_create() besitzt die Referenz, die von virtio_gpu_object_create() aufgenommen wird. Im Fehlerpfad von drm_gem_handle_create() wird stattdessen drm_gem_object_release() aufgerufen, anstatt diese Referenz zu vermindern (zu „droppen").
drm_gem_object_release() ist das Inverse von drm_gem_object_init() und berührt den Reference-Count nicht oder ruft obj->funcs->free() nicht auf. Daher ist es nur als letzter Schritt eines Destruktors korrekt, wie in virtio_gpu_cleanup_object(). Die Verwendung an dieser Stelle hinterlässt bo mit einem refcount von 1 ohne verbleibende Referenz, sodass virtio_gpu_free_object() niemals ausgeführt wird und die shmem-Seiten, sg-Tabellen sowie das virtio_gpu_object geleakt werden. Da virtio_gpu_object_create() bereits bo->created gesetzt hat, wird auch VIRTIO_GPU_CMD_RESOURCE_UNREF nicht in die Warteschlange gestellt, was zu einem Leck der hostseitigen Ressource und der Ressourcen-ID führt.
drm_gem_handle_create_tail() reduziert den Handle-Reference auf allen internen Fehlerpfaden, sodass der Aufrufer nur noch seine eigene Referenz reduzieren muss. Verwenden Sie drm_gem_object_put(), entsprechend dem Erfolgszweig unten.
Once again VulDB remains the best source for vulnerability data.