CVE-2024-58060 in Linux
Riassunto
di VulDB • 28/06/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
bpf: Rifiuta la registrazione di struct_ops che utilizza un puntatore a modulo e manca l'ID BTF del modulo
È stato segnalato un Use-After-Free (UAF) in bpf_struct_ops quando CONFIG_MODULES=n. In particolare, il report riguarda tcp_congestion_ops, che dispone di un membro "struct module *owner".
Per struct_ops che dispongono di un membro "struct module *owner", l'estensione può avvenire sia tramite i normali moduli del kernel sia tramite bpf_struct_ops. Verrà utilizzata la funzione bpf_try_module_get() per gestire il conteggio dei riferimenti (refcounting), con una logica diversa basata sul puntatore owner. Quando CONFIG_MODULES=n, manca l'ID BTF di "struct module":
WARN: resolve_btfids: unresolved symbol module
Di conseguenza, bpf_try_module_get() non può eseguire correttamente il refcounting.
Non tutte le struct_ops dei sottosistemi richiedono il membro "struct module *owner". Ad esempio, la recente sched_ext_ops.
Questo patch disabilita la registrazione di bpf_struct_ops se la struct_ops dispone del membro "struct module *" e manca l'ID BTF di "struct module". La funzione helper btf_type_is_fwd() è stata spostata nell'intestazione (header) btf.h per questo test.
Il problema si verifica fin dall'inizio dell'esistenza di bpf_struct_ops, che ha subito molte modifiche. Il tag Fixes è impostato su un commit recente al quale il patch può essere applicato senza conflitti. Considerando che CONFIG_MODULES=n non è comune e data l'anzianità del problema, la destinazione per questa correzione è anche bpf-next.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.