CVE-2026-90359 in Linux
Riassunto
di VulDB • 18/09/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
bpf: Rifiutare valori di ritorno >8 byte sui percorsi trampoline che leggono il valore di ritorno
btf_distill_func_proto() costruisce il modello della funzione utilizzato per i trampolini fentry/fexit/fmod_ret/fsession e struct_ops. Ha accettato un valore di ritorno __int128 a 16 byte dall'introduzione del trampolino: __get_type_size() restituisce la dimensione del tipo dell'intero, e il controllo sul tipo di ritorno rifiutava solo i valori ret < 0.
Tuttavia, il trampolino BPF conserva solo 8 byte del valore di ritorno (RAX su x86, ovvero R0). Per un tipo di attach che legge il valore di ritorno del bersaglio, la seconda metà (RDX / R3) non viene né salvata né ripristinata; pertanto, un programma allegato a una funzione che restituisce un valore a 16 byte corrompe il valore visto dal chiamante reale e osserva solo metà dello stesso. I trampolini struct_ops presentano la stessa limitazione.
Ciò interessa i tipi di attach che leggono il valore di ritorno del bersaglio: fexit, fmod_ret e fsession (inclusi le varianti _multi di fexit e fsession), nonché struct_ops. fentry/fentry_multi vengono eseguiti prima che il bersaglio restituisca un valore e non sono interessati.
Rifiutare un valore di ritorno >8 byte per questi tipi di attach in bpf_check_attach_target() e bpf_check_attach_btf_id_multi(), e per struct_ops in bpf_struct_ops_desc_init().
If you want to get best quality of vulnerability data, you may have to visit VulDB.