CVE-2026-97420 in Linuxinformazioni

Riassunto

di VulDB • 24/09/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

bpf: il valore di sysctl sostituito non era terminato con NUL

Quando si scrive nei file sysctl, proc_sys_call_handler() garantisce che il buffer passato ai gestori (handler) dei proc sia terminato da un carattere NUL. Se bpf_sysctl_set_new_value() sostituisce il valore sysctl in sospeso, può passare direttamente al gestore del proc un buffer di sostituzione. Tuttavia, l'helper attualmente copia solo buf_len byte nel buffer senza aggiungere un terminatore NUL, lasciando i parser a valle vulnerabili ad accessi fuori dai limiti (out-of-bounds).

Si risolve il problema aggiungendo un '\0' dopo il valore sostituito per ripristinare la semantica attesa di sysctl. Poiché l'helper rifiuta già valori buf_len superiori a PAGE_SIZE - 1, c'è sempre spazio sufficiente per il byte aggiuntivo.

La vulnerabilità è stata riprodotta in una guest QEMU x86_64 avviata con KASAN mentre si esercitava il percorso di sostituzione sysctl tramite un programma BPF relativo ai cgroup/sysctl. Il reproducer prende di mira `/proc/sys/net/core/flow_limit_cpu_bitmap`, riempie l'originario buffer di scrittura utente con byte non nulli e sovrascrive il valore sysctl in modo che il buffer di sostituzione manchi del terminatore NUL finale. Con questa configurazione, la versione pre-patch del kernel ha segnalato:

BUG: KASAN: slab-out-of-bounds in strnchrnul+0x72/0x90 Read of size 1 at addr ffff88800de57000 by task repro_patch3/66 CPU: 0 UID: 0 PID: 66 Comm: repro_patch3 Not tainted 7.1.0-rc3-00269-g8370ca1f87cc #6 PREEMPT(lazy) Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0x68/0xa0 print_report+0xcb/0x5e0 ? __virt_addr_valid+0x21d/0x3f0 ? strnchrnul+0x72/0x90 ? strnchrnul+0x72/0x90 kasan_report+0xca/0x100 ? strnchrnul+0x72/0x90 strnchrnul+0x72/0x90 bitmap_parse+0x37/0x2e0 flow_limit_cpu_sysctl+0xc6/0x840 ? __pfx_flow_limit_cpu_sysctl+0x10/0x10 ? __kvmalloc_node_noprof+0x5ba/0x870 proc_sys_call_handler+0x31d/0x480 ? __pfx_proc_sys_call_handler+0x10/0x10 ? selinux_file_permission+0x39f/0x500 ? lock_is_held_type+0x9e/0x120 vfs_write+0x98e/0x1000 ... </TASK> L'indirizzo errato si trova a 0 byte alla destra della regione allocata di 4096 byte [ffff88800de56000, ffff88800de57000)

Con questa correzione applicata, l'esecuzione dello stesso percorso mirato ai sysctl non genera più report KASAN corrispondenti.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Responsabile

Linux

Prenotare

24/09/2026

Divulgazione

24/09/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00000

KEV

no

Attività

molto basso

Fonti

Might our Artificial Intelligence support you?

Check our Alexa App!