CVE-2026-90302 in Linuxinfo

Zusammenfassung

von VulDB • 18.09.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

ocfs2: Synchronisierung der Heartbeat-Callbacks mit dem Herunterfahren von o2net

Patch-Serie „ocfs2: Absicherung gegen Race Conditions beim Herunterfahren des Heartbeats“.

Diese Serie behebt zwei OCFS2-Race conditions (Wettlaufsituationen) im Zusammenhang mit dem Herunterfahren von Heartbeat/o2net, die durch KASAN entdeckt wurden.

Dieser Patch (von 2):

Heartbeat-Callbacks bleiben registriert, während das Konfigurations-Cleanup des lokalen Knotens o2net_stop_listening() aufruft. Ein Node-down-Ereignis kann weiterhin durch o2net_disconnect_node() und o2net_set_nn_state() laufen, während beim Cleanup der Arbeitsthread-Pool (workqueue) o2net_wq zerstört wird; daher können die nachfolgenden queue/flush-Vorgänge auf einen toten workqueue treffen. KASAN hat dies als slab-use-after-free in __queue_work() mit folgender Aufrufliste erfasst:

KASAN slab-use-after-free in __queue_work+0x56/0xa90 Lesezugriff auf Größe 4 Aufrufliste (Call trace): dump_stack_lvl+0x66/0xa0 print_report+0xce/0x630 __queue_work+0x56/0xa90 srso_alias_return_thunk+0x5/0xfbef5 __virt_addr_valid+0x19f/0x330 kasan_report+0xe0/0x110 __queue_delayed_work+0x58/0x1e0 queue_delayed_work_on+0xb4/0xc0 o2net_set_nn_state+0x467/0x840 o2net_disconnect_node+0x7b/0xe0 o2net_hb_node_down_cb+0x54/0x60 o2hb_run_event_list+0x236/0x2d0 o2hb_check_slot+0xad4/0xbc0 lock_release+0xc8/0x290 o2hb_check_slot+0x9ea/0xbc0 trace_hardirqs_on+0x18/0x130 o2hb_do_disk_heartbeat+0x646/0xb30 (fs/ocfs2/cluster/heartbeat.c:1079) __lock_acquire+0x466/0x2260 lockdep_hardirqs_on_prepare+0xea/0x1a0 ktime_get_with_offset+0xe9/0x230 o2hb_thread+0x14e/0x770 kthread+0x1ad/0x1f0 ret_from_fork+0x3c9/0x540 __switch_to+0x2e9/0x730 ret_from_fork_asm+0x1a/0x30

Zugewiesen durch Task-Stack: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 __kasan_kmalloc+0xaa/0xb0 __kmalloc_noprof+0x292/0x760 __alloc_workqueue+0x736/0xc60 alloc_workqueue_noprof+0xb1/0x110 o2net_start_listening+0xe5/0x430 o2nm_node_local_store+0x184/0x310 configfs_write_iter+0x18a/0x210 vfs_write+0x469/0x810 ksys_write+0xd2/0x170 do_syscall_64+0x115/0x6a0 (arch/x86/entry/syscall_64.c:87) entry_SYSCALL_64_after_hwframe+0x77/0x7f

Freigegeben durch Task-Stack: kasan_save_stack+0x33/0x60 kasan_save_track+0x14/0x30 kasan_save_free_info+0x3b/0x60 __kasan_slab_free+0x5f/0x80 kfree+0x313/0x590 rcu_core+0x4f4/0x1320 handle_softirqs+0x156/0x660

queue_delayed_work_on o2net_set_nn_state o2net_disconnect_node o2net_hb_node_down_cb o2hb_run_event_list

Die Heartbeat-Callbacks bleiben registriert, damit der Quorum-Zustand den Knotenzustand weiterhin verfolgt, aber sie werden daran gehindert, o2net-Reconnect-/Disconnect-Arbeit auszulösen, sobald das lokale Cleanup beginnt. Der Transport wird vor dem Zerstören von o2net_wq als offline markiert; es wird gewartet, bis alle laufenden Heartbeat-Callbacks abgeschlossen sind, und die Replay-Wiederaufnahme wird verzögert, bis der neue lokale Knoten über o2nm_this_node() veröffentlicht wurde.

Das Replay muss ebenfalls mit der Zustellung von Heartbeat-Callbacks serialisiert bleiben. Andernfalls kann ein Snapshot eines aktiven Knotens kopiert werden, ein echtes hb_down-Callback kann für einen Peer -ENOTCONN installieren und das veraltete Replay kann o2net_hb_node_up() für denselben Peer aufrufen sowie Reconnect-Arbeit in die Warteschlange stellen, obwohl der Heartbeat bereits heruntergefahren ist.

Das fehlerhafte Szenario umfasst zwei Pfade, wobei jede Spalte die Reihenfolge innerhalb dieses Pfads zeigt:

Lokales Knoten-Cleanup: Heartbeat Node-Down Callback: 1. configfs local-off tritt ein 1. o2hb_run_event_list() ruft und führt zu o2net_hb_node_down_cb() auf. o2net_stop_listening(). 2. Das Callback erreicht o2net_disconnect_node() und 2. Das Cleanup strebt o2net_set_nn_state(). destroy_workqueue(o2net_wq) an. 3. Das Callback flushed oder queued Arbeit über o2net_wq. 3. Das Cleanup zerstört und setzt (Siehe oben: Race Condition mit Schritt 2 des anderen Pfads) o2net_wq auf NULL.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Zuständig

Linux

Reservieren

11.09.2026

Veröffentlichung

17.09.2026

Moderieren

akzeptiert

Eintrag

VDB-406821

CPE

bereit

EPSS

0.00000

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!