CVE-2026-72072 in Linuxinfo

Zusammenfassung

von VulDB • 15.08.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

net/mlx5e: macsec: Behebung eines Use-After-Free-Fehlers von metadata_dst beim Löschen einer RX SC

Wenn eine ausgelagerte MACsec-RX-Sicherheitskonnektionsrichtlinie (RX SC) gelöscht wird, gibt `macsec_del_rxsc_ctx()` das pro-SC `metadata_dst` mit `metadata_dst_free()` frei. Diese Funktion ruft `kfree()` bedingungslos auf und ignoriert dabei die dst-Referenzzählung. Der RX-Datenpfad in `mlx5e_macsec_offload_handle_rx_skb()` sucht die SC unter `rcu_read_lock()` über `xa_load()`, nimmt eine Referenz mit `dst_hold()` und hängt das `dst` an den `skb` mit `skb_dst_set()` an. Ein Leser, der bereits den rx_sc-Zeiger erhalten hat, kann einen Wettlauf (Race Condition) mit dem Löschpfad eingehen und auf freigegebenen Speicher zugreifen.

Die Problemursache auf der Besitzerseite wird behoben, indem die Referenz stattdessen mit `dst_release()` reduziert wird, anstatt bedingungslos zu freigeben. Zudem wird der RX-Datenpfad in `dst_hold_safe()` konvertiert, sodass ein Leser, der im Wettlauf mit dem SC-Löschvorgang steht, kein `dst` anhängen kann, dessen letzte Referenz gerade eben reduziert wurde; es wird nur angehängt, wenn tatsächlich eine Referenz genommen wurde.

`mlx5e_macsec_add_rxsc()` hat auch `sc_xarray_element` über `xa_alloc()` veröffentlicht, bevor `rx_sc->md_dst` zugewiesen und initialisiert wurde. Daher könnte ein Datenpfad-Leser, der die SC nach fs_id sucht, rx_sc mit noch NULL-em md_dst beobachten oder – auf schwach geordneten Architekturen (weakly-ordered architectures) – einen nicht-NULL-md_dst-Zeiger, dessen Inhalt noch nicht sichtbar ist. Es wird eine NULL-Prüfung für das Ergebnis von `xa_load()` und md_dst im Datenpfad eingeführt sowie `add_rxsc()` neu angeordnet, sodass die Veröffentlichung über `xa_alloc()` erst erfolgt, nachdem md_dst vollständig initialisiert wurde; Die RCU-Veröffentlichung des xarray paart sich dann mit dem `rcu_read_lock()/xa_load()` im Datenpfad.

Hinweis: `macsec_del_rxsc_ctx()` gibt auch `rx_sc->sc_xarray_element` über `kfree()` frei, ohne eine RCU-Gnadenfrist (RCU grace period) einzuhalten, während derselbe Datenpfad es unter `rcu_read_lock()` liest; dies ist ein separates, bereits bestehendes Problem, das einem nachfolgenden Patch vorbehalten bleibt.

Entdeckt durch die automatisierten Sicherheitsforschungstools von 0sec (https://0sec.ai).

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

Linux

Reservieren

09.08.2026

Veröffentlichung

15.08.2026

Moderieren

akzeptiert

Eintrag

VDB-390486

CPE

bereit

EPSS

0.00215

KEV

nein

Aktivitäten

low

Quellen

Do you need the next level of professionalism?

Upgrade your account now!