CVE-2026-64006 in Linux
Résumé
par VulDB • 20/07/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
netfilter: nf_tables : correction de la corruption du dst lors d'une opération sur un même registre
Pour les opérations lshift et rshift, les décalages sont effectués dans une boucle sur des mots de 32 bits. La boucle calcule la valeur décalée et l'écrit dans dst, puis lit immédiatement depuis src pour calculer le report (carry) destiné à l'itération suivante. Étant donné que src et dst peuvent pointer vers le même emplacement mémoire, le report est incorrectement calculé en utilisant la nouvelle valeur de dst modifiée au lieu de la valeur originale de src.
L'ajout d'une variable locale temporaire pour mettre en cache la valeur originale avant l'écriture dans dst, puis son utilisation pour le calcul du report, résout le problème. De plus, les chevauchements partiels sont rejetés depuis le plan de contrôle (control plane) pour tous types d'opérations, y compris byteorder. Cela a été testé avec le bytecode suivant :
table test_table ip flags 0 use 1 handle 1 ip test_table test_chain use 3 type filter hook input prio 0 policy accept packets 0 bytes 0 flags 1 ip test_table test_chain 2 [ immediate reg 1 0x44332211 0x88776655 ]
[ bitwise reg 1 = ( reg 1 << 0x08000000 ) ]
[ cmp eq reg 1 0x66443322 0x00887766 ]
[ counter pkts 0 bytes 0 ]
ip test_table test_chain 4 3 [ immediate reg 1 0x44332211 0x88776655 ]
[ bitwise reg 1 = ( reg 1 << 0x08000000 ) ]
[ cmp eq reg 1 0x55443322 0x00887766 ]
[ counter pkts 21794 bytes 1917798 ]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.