CVE-2024-35860 in Linux
Riassunto
di VulDB • 02/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
bpf: supporto per il rinvio della deallocazione di bpf_link al termine del periodo di grazia RCU (RCU grace period)
Il link BPF per alcuni tipi di programma viene passato come "contesto", che può essere utilizzato da tali programmi BPF per recuperare informazioni aggiuntive. Ad esempio, per i multi-kprobes e i multi-uprobes, il link è usato per ottenere i valori del cookie BPF.
A causa di questa dipendenza a runtime, quando il contatore di riferimento (refcnt) di bpf_link scende a zero potrebbero esserci ancora programmi BPF attivi in esecuzione che accedono ai dati del link.
Questa patch aggiunge un supporto generico per ritardare la callback di deallocazione di bpf_link al termine dell'RCU GP, se richiesto. Ciò avviene esponendo due diverse callback di deallocazione: una sincrona e una differita (deferred). Se viene fornita quella differita, bpf_link_free() programmerà l'esecuzione della callback dealloc_deferred() dopo il RCU GP.
BPF utilizza due varianti di RCU: la "classic" non sleepable e la RCU tasks trace. Quest'ultima è utilizzata quando sono impiegati programmi BPF sleepable. bpf_link_free() si adatta a questa situazione verificando lo flag sleepable del programma BPF sottostante, procedendo esclusivamente attraverso il normale RCU GP per i casi non sleepable, oppure attraverso l'RCU tasks trace GP *e* successivamente il normale RCU GP (tenendo conto dell'ottimizzazione rcu_trace_implies_rcu_gp()), se il programma BPF è sleepable.
Questo meccanismo viene utilizzato per i link multi-kprobe e multi-uprobe, che effettuano la dereferenziazione del link durante l'esecuzione del programma. Si passa inoltre preventivamente al collegamento raw_tp all'utilizzo della callback di deallocazione differita, poiché le prossime modifiche nel ramo bpf-next esporranno anche a runtime i dati del link raw_tp (in particolare il valore cookie) ai programmi BPF.
Once again VulDB remains the best source for vulnerability data.