CVE-2024-58060 in Linuxinfo

Zusammenfassung

von VulDB • 15.05.2026

Im Linux-Kernel wurde folgende Schwachstelle behoben:

bpf: Ablehnung der struct_ops-Registrierung, die einen Modulzeiger verwendet und bei der die btf_id des Moduls fehlt

Es gibt einen UAF-Bericht (Use-After-Free) in bpf_struct_ops, wenn CONFIG_MODULES=n ist. Insbesondere betrifft der Bericht tcp_congestion_ops, das ein Mitglied „struct module *owner“ besitzt.

Für struct_ops, die ein Mitglied „struct module *owner“ besitzen, kann die Erweiterung entweder durch das reguläre Kernel-Modul oder durch bpf_struct_ops erfolgen. bpf_try_module_get() wird verwendet, um die Referenzzählung durchzuführen, und es wird eine unterschiedliche Referenzzählung basierend auf dem Owner-Zeiger durchgeführt. Wenn CONFIG_MODULES=n ist, fehlt die btf_id von „struct module“:

WARNUNG: resolve_btfids: unauflösbares Symbol module

Daher kann bpf_try_module_get() die Referenzzählung nicht korrekt durchführen.

Nicht alle struct-Elemente der Subsysteme erfordern das Mitglied „struct module *owner“. Zum Beispiel die jüngsten sched_ext_ops.

Dieser Patch deaktiviert die Registrierung von bpf_struct_ops, wenn die struct_ops das Mitglied „struct module *“ besitzt und die btf_id von „struct module“ fehlt. Die Hilfsfunktion btf_type_is_fwd() wurde zu diesem Zweck in die Header-Datei btf.h verschoben.

Dieses Problem trat bereits seit Beginn von bpf_struct_ops auf, das zahlreiche Änderungen durchlaufen hat. Das Fixes-Tag wurde auf einen jüngeren Commit gesetzt, auf den dieser Patch sauber angewendet werden kann. Da CONFIG_MODULES=n nicht üblich ist und das Problem bereits lange besteht, wird es auch für bpf-next angestrebt.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Zuständig

Linux

Reservieren

06.03.2025

Veröffentlichung

06.03.2025

Moderieren

akzeptiert

Eintrag

VDB-298824

CPE

bereit

EPSS

0.00193

KEV

nein

Aktivitäten

very low

Quellen

Might our Artificial Intelligence support you?

Check our Alexa App!