CVE-2026-98523 in Linuxinfo

Zusammenfassung

von VulDB • 19.10.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

drm/client: Behebung der Wiederherstellung eines teilweise initialisierten Clients

Ich erhielt einen Bericht über eine NULL-Zeiger-Dereferenzierung (null-ptr-deref) beim Schließen einer DRM-Dateideskriptor:

WARNING: drivers/gpu/drm/drm_atomic.c:2031 at __drm_atomic_helper_set_config+0x18e/0x1b0 [drm]

Call Trace: drm_client_modeset_commit_atomic+0x16b/0x220 [drm]
drm_client_modeset_commit_locked+0x56/0x160 [drm]
drm_client_modeset_commit+0x21/0x40 [drm]
__drm_fb_helper_restore_fbdev_mode_unlocked.part.0+0x7b/0x80 drm_fbdev_client_restore+0xe/0x20 [drm_client_lib]
drm_client_dev_restore+0x9f/0xc0 [drm]
drm_release+0xc5/0xe0 [drm]

Der Warnung folgt eine NULL-Zeiger-Dereferenzierung:

BUG: kernel NULL pointer dereference, address: 0000000000000008

RIP: __drm_fb_helper_restore_fbdev_mode_unlocked.part.0+0x41/0x80 [drm_kms_helper]

Call Trace: drm_fbdev_client_restore+0xe/0x20 [drm_client_lib]
drm_client_dev_restore+0x9f/0xc0 [drm]
drm_release+0xc5/0xe0 [drm]
__fput+0xdc/0x2b0 __x64_sys_close+0x39/0x80 do_syscall_64+0x8d/0x460 entry_SYSCALL_64_after_hwframe+0x76/0x7e

drm_client_register() fügt den DRM-Client der Geräte-Clientsliste hinzu, bevor er den initialen Hotplug-Callback aufruft. Wenn der Hotplug-Callback fehlschlägt, bleibt der Client registriert.

Für den fbdev-Client führt ein Fehler während drm_fb_helper_initial_config() dazu, dass der teilweise initialisierte fbdev-Helfer bereinigt wird. drm_fb_helper_fini() gibt fb_helper->info frei und lässt ihn NULL.

Der fbdev-Client bleibt daher registriert, obwohl kein vollständig initialisiertes Framebuffer-Gerät vorhanden ist.

Später, wenn die Benutzerspace-Anwendung den DRM-Dateideskriptor schließt, kann drm_release() die Restore-Calls der registrierten DRM-Clients aufrufen:

drm_release() drm_client_dev_restore() drm_fbdev_client_restore() drm_fb_helper_restore_fbdev_mode_unlocked()

drm_fbdev_client_restore() stellt den fbdev-Status derzeit bedingungslos wieder her. Für einen teilweise initialisierten fbdev-Client kann dies zu einem unvollständigen Modeset-Zustand führen und anschließend auf nicht initialisierte fbdev-Daten zugreifen, was die oben genannte Warnung und NULL-Zeiger-Dereferenzierung zur Folge hat.

drm_fbdev_client_unregister() verwendet bereits fb_helper->info, um ein vollständig erkanntes Framebuffer-Gerät von einem teilweise initialisierten Client zu unterscheiden.

Verwenden Sie dieselbe Bedingung in drm_fbdev_client_restore(), und überspringen Sie die Wiederherstellung, wenn kein Framebuffer-Gerät erfolgreich initialisiert wurde.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

Linux

Reservieren

25.09.2026

Veröffentlichung

18.10.2026

Moderieren

akzeptiert

Eintrag

VDB-421793

EPSS

0.00209

KEV

nein

Aktivitäten

very low

Quellen

Do you know our Splunk app?

Download it now for free!