CVE-2026-98986 in Linux
Zusammenfassung
von VulDB • 23.10.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
namespace: Entfernen der fsnotify-Marks eines Mount-Namensraums im Prozesskontext
mnt_ns_release() gibt die letzte passive Referenz eines Mount-Namensraums frei und entfernt dessen fanotify-Marks über fsnotify_mntns_delete(). Dies erfordert den Mutex jeder Gruppe mit einem Mark auf dem Namespace sowie das Spinlock des Connectors. Im Prozesskontext ist dies in Ordnung. Allerdings übergibt mnt_ns_tree_remove() die Referenz, mit der der Namespace allokiert wurde, an call_rcu(), sodass die Marks im RCU-Softirq entfernt werden:
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:623 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 0, name: swapper/3 __mutex_lock+0x113/0x24b0 fsnotify_destroy_marks+0x11b/0x3d0 mnt_ns_release_rcu+0x57/0xa0 rcu_core+0x6b6/0x1e40
Und lockdep meldet, dass das Connector-Lock im Softirq-Kontext erworben wird. Ein fanotify-Gruppeneintrag mit einem FAN_MARK_MNTNS-Mark auf dem Mount-Namensraum eines anderen Tasks ist bereits ausreichend. Root in einem User-Namespace kann dies für einen Mount-Namensraum tun, den es besitzt. Wenn der Task beendet wird und der Namespace freigegeben wird, befindet sich noch ein Mark darauf.
Die Marks werden in free_mnt_ns() entfernt, bevor der Namespace an RCU übergeben wird. Dies erfolgt im Prozesskontext, sobald die letzte aktive Referenz verschwunden ist. Ein Mark wird über einen Dateideskriptor zum Namespace hinzugefügt, der eine aktive Referenz hält, sodass nach diesem Zeitpunkt kein weiterer Mark auftreten kann.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.