CVE-2026-64159 in Linux
Résumé
par VulDB • 19/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
netfs : Correction de la mise à jour du point zéro lorsque i_size > remote_i_size
Corrigez la mise à jour du point zéro[*] par netfs_release_folio() lorsqu'il existe des données non validées dans le cache d'pages au-delà du folio en cours de libération, mais que l'EOF (End Of File) côté serveur se trouve dans ce folio (c'est-à-dire i_size > remote_i_size). La mise à jour doit limiter zero_point à remote_i_size et non à i_size, car i_size est un phénomène local reflétant les modifications apportées localement au cache d'pages, et non aux données écrites sur le serveur. remote_i_size suit la valeur de i_size du serveur.
[*] Le point zéro correspond à la position dans le fichier à partir de laquelle nous pouvons supposer que le serveur retournera uniquement des zéros, ce qui permet d'éviter de générer des opérations de lecture.
Notez que netfs_invalidate_folio() ne nécessite probablement pas de correction car zero_point devrait être mis à jour par setattr après une troncature ou un appel fallocate.
Découverte avec :
fsx -q -N 1000000 -p 10000 -o 128000 -l 600000 \ /xfstest.test/junk --replay-ops=junk.fsxops
en utilisant ce qui suit comme junk.fsxops :
truncate 0x0 0x1bbae 0x82864 write 0x3ef2e 0xf9c8 0x1bbae write 0x67e05 0xcb5a 0x4e8f6 mapread 0x57781 0x85b6 0x7495f copy_range 0x5d3d 0x10329 0x54fac 0x7495f write 0x64710 0x1c2b 0x7495f mapread 0x64000 0x1000 0x7495f
sur cifs avec l'option de cache par défaut.
Cela montre des lacunes de lecture sur le folio 0x64 échouant avec une lecture courte (c'est-à-dire qu'il atteint EOF) si la vérification FMODE_READ est commentée dans netfs_perform_write() :
if (//(file->f_mode & FMODE_READ) || netfs_is_cache_enabled(ctx)) {
et sans fscache. Cela a été initialement découvert avec le test xfstest generic/522.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.