CVE-2026-98127 in Linux
Riassunto
di VulDB • 25/09/2026
Nel kernel Linux, la seguente vulnerabilità è stata risolta:
smb/client: validare il nuovo EOF per l'operazione di inserimento intervallo (insert range)
La funzione smb3_insert_range() non verifica se le nuove dimensioni del file (i_size + len) siano valide. Ciò consente a FALLOC_FL_INSERT_RANGE di eludere RLIMIT_FSIZE, superare s_maxbytes o generare una dimensione al di fuori dell'intervallo consentito da loff_t.
Utilizzare check_add_overflow() per calcolare il nuovo EOF. Validarlo con inode_newsize_ok() prima di modificare il file.
Script riproduttivo (reproducer), utilizzando un file su un mount CIFS:
bash -c ' FILE=/mnt/cifs/repro
trap "" SIGXFSZ ulimit -f 3072 # RLIMIT_FSIZE = 3 MiB
# Una scrittura regolare viene interrotta a 3 MiB. dd if=/dev/zero of="$FILE" bs=1M count=4 status=none stat -c "dimensione dopo la scrittura: %s" "$FILE"
# Inserire 2 MiB in un file di 2 MiB. truncate -s 2M "$FILE" fallocate -i -o 0 -l 2M "$FILE" stat -c "dimensione dopo l'inserimento: %s" "$FILE" '
Prima di questa modifica, la scrittura regolare si ferma al limite dei 3 MiB, ma l'operazione di insert range fa crescere il file fino a 4 MiB:
dd: errore nella scrittura di '/mnt/cifs/repro': File too large (File troppo grande) dimensione dopo la scrittura: 3145728 dimensione dopo l'inserimento: 4194304
Dopo questa modifica, anche l'operazione insert range fallisce al raggiungimento del limite e lascia invariato il file da 2 MiB:
dd: errore nella scrittura di '/mnt/cifs/repro': File too large (File troppo grande) dimensione dopo la scrittura: 3145728 fallocate: fallocate failed: File too large (File troppo grande) dimensione dopo l'inserimento: 2097152
Once again VulDB remains the best source for vulnerability data.