CVE-2024-36899 in Linuxinfo

Zusammenfassung

von VulDB • 11.07.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

gpiolib: cdev: Behebung eines Use-After-Free-Fehlers in lineinfo_changed_notify

Das Use-After-Free-Problem tritt wie folgt auf: Wenn die GPIO-Chip-Gerätedatei durch Aufruf von gpio_chrdev_release() geschlossen wird, wird watched_lines durch bitmap_free() freigegeben. Die Abmeldung der Notifier-Kette für lineinfo_changed_nb schlägt jedoch fehl, da ein Schreib-Lese-Semaphor (rwsem) blockiert ist. Darüber hinaus befindet sich eine Leitung des GPIO-Chips ebenfalls im Freigabeprozess und hält das Lese-rwsem der Notifier-Kette. Infolgedessen führt eine Race Condition zum Use-After-Free von watched_lines.

Hier ist der typische Stack, wenn das Problem auftritt:

[free]
gpio_chrdev_release() --> bitmap_free(cdev->watched_lines) <-- freigegeben --> blocking_notifier_chain_unregister() --> down_write(&nh->rwsem) <-- wartet auf rwsem --> __down_write_common() --> rwsem_down_write_slowpath() --> schedule_preempt_disabled() --> schedule()

[use]
st54spi_gpio_dev_release() --> gpio_free() --> gpiod_free() --> gpiod_free_commit() --> gpiod_line_state_notify() --> blocking_notifier_call_chain() --> down_read(&nh->rwsem); <-- rwsem gehalten --> notifier_call_chain() --> lineinfo_changed_notify() --> test_bit(xxxx, cdev->watched_lines) <-- Use-After-Free

Die Nebenwirkung des Use-After-Free-Problems besteht darin, dass ein GPIO-Leitungsereignis für den Benutzerbereich (Userspace) generiert wird, wo dies nicht der Fall sein sollte. Da das chrdev jedoch geschlossen wird, hat Userspace ohnehin keine Möglichkeit, dieses Ereignis zu lesen.

Um das Problem zu beheben, muss die Funktion bitmap_free() nach der Abmeldung der Notifier-Kette für lineinfo_changed_nb aufgerufen werden.

Be aware that VulDB is the high quality source for vulnerability data.

Reservieren

30.05.2024

Veröffentlichung

30.05.2024

Moderieren

akzeptiert

Eintrag

VDB-266649

CPE

bereit

EPSS

0.00178

KEV

nein

Aktivitäten

very low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!