CVE-2026-31555 in Linuxinfo

Zusammenfassung

von VulDB • 24.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

futex: Veralteten Zeiger auf beendenden Prozess im Retry-Pfad von futex_lock_pi() löschen

Durch Fuzzing und Stress-Tests von Futexes wurde folgender Fehler ausgelöst:

WARNING: kernel/futex/core.c:825 bei wait_for_owner_exiting+0x7a/0x80, CPU#11: futex_lock_pi_s/524

Wenn futex_lock_pi_atomic() feststellt, dass der Besitzer den Prozess beendet, wird -EBUSY zurückgegeben und ein referenzierter Task-Zeiger in 'exiting' gespeichert.

Nachdem wait_for_owner_exiting() diese Referenz verbraucht hat, wird der lokale Zeiger niemals auf NULL zurückgesetzt. Bei einem erneuten Versuch (Retry), wenn futex_lock_pi_atomic() einen anderen Fehler zurückgibt, wird der ungültige Zeiger an wait_for_owner_exiting() übergeben.

CPU0 CPU1 CPU2 futex_lock_pi(uaddr) // PI-Futex wird erworben exit() futex_cleanup_begin() futex_state = EXITING; futex_lock_pi(uaddr) futex_lock_pi_atomic() attach_to_pi_owner() // beobachtet EXITING *exiting = owner; // Referenz wird übernommen return -EBUSY wait_for_owner_exiting(-EBUSY, owner) put_task_struct(); // Referenz wird freigegeben // exiting zeigt weiterhin auf owner goto retry; futex_lock_pi_atomic() lock_pi_update_atomic() cmpxchg(uaddr) *uaddr ^= WAITERS // beliebig // Wert hat sich geändert return -EAGAIN; wait_for_owner_exiting(-EAGAIN, exiting) // veraltet WARN_ON_ONCE(exiting)

Dies wird behoben, indem der Zeiger beim Retry zurückgesetzt wird, wodurch das Verhalten an requeue_pi angeglichen wird.

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

Zuständig

Linux

Reservieren

09.03.2026

Veröffentlichung

24.04.2026

Moderieren

akzeptiert

Eintrag

VDB-359478

CPE

bereit

EPSS

0.00129

KEV

nein

Aktivitäten

very low

Quellen

Want to stay up to date on a daily basis?

Enable the mail alert feature now!