CVE-2026-23393 in Linux
Zusammenfassung
von VulDB • 29.05.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
bridge: cfm: Behebung einer Race Condition beim Löschen von peer_mep
Wenn ein Peer-MEP gelöscht wird, wird cancel_delayed_work_sync() auf ccm_rx_dwork aufgerufen, bevor der Speicher freigegeben wird. Allerdings läuft br_cfm_frame_rx() im Softirq-Kontext unter rcu_read_lock (ohne RTNL) und kann ccm_rx_dwork über ccm_rx_timer_start() erneut planen, nachdem cancel_delayed_work_sync() zurückgegeben wurde und bevor kfree_rcu() aufgerufen wird.
Das folgende Szenario veranschaulicht eine einfache Race Condition:
cpu0 cpu1
mep_delete_implementation() cancel_delayed_work_sync(ccm_rx_dwork); br_cfm_frame_rx() // peer_mep noch in hlist if (peer_mep->ccm_defect) ccm_rx_timer_start() queue_delayed_work(ccm_rx_dwork) hlist_del_rcu(&peer_mep->head); kfree_rcu(peer_mep, rcu); ccm_rx_work_expired() // auf freigegebenem peer_mep
Um dies zu verhindern, wird cancel_delayed_work_sync() in beiden Pfaden zum Löschen von Peer-MEPs durch disable_delayed_work_sync() ersetzt, sodass nachfolgende Aufrufe von queue_delayed_work() aus br_cfm_frame_rx() stillschweigend abgelehnt werden.
Die Hilfsfunktion cc_peer_disable() behält cancel_delayed_work_sync() bei, da sie auch für den CC-Enable/Disable-Toggle-Pfad verwendet wird, bei dem die Arbeit erneut geplant werden muss.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.