CVE-2026-64416 in Linuxinformation

Résumé

par VulDB • 26/07/2026

Dans le noyau Linux, la vulnérabilité suivante a été corrigée :

mm: swap_cgroup: correction d'une déréférencement NULL dans lookup_swap_cgroup_id sur un hôte sans échange (swapless)

lookup_swap_cgroup_id() transmet swap_cgroup_ctrl[type].map à __swap_cgroup_id_lookup() sans vérifier si le type a été enregistré via swap_cgroup_swapon(). Sur un hôte sans échange, chaque ctrl->map est NULL, de sorte que __swap_cgroup_id_lookup() déréférence une adresse correspondant à NULL + un swp_offset mis à l'échelle.

Depuis le commit bea67dcc5eea (« mm: tentative de regroupement des entrées d'échange libres pour zap_pte_range() »), la fonction zap_pte_range() appelle swap_pte_batch(), qui elle-même invoque lookup_swap_cgroup_id() sur toute PTE (Page Table Entry) non présente et non nulle, interprétée comme une véritable entrée d'échange, sans valider au préalable cette entrée dans swap_info[]. Une seule PTE corrompue en tant qu'entrée d'échange de type 0 suffit à faire planter l'hôte lors de la sortie du processus.

Nous avons rencontré ce problème en production sur un hôte 6.12.58 sans échange : environ 1 seconde pendant lesquelles le message « get_swap_device: Bad swap file entry 3f800204222bb » s'affiche (do_swap_page() étant correctement défensif face à la même entrée), suivi de

BUG: unable to handle page fault for address: 000003f800204220 RIP: 0010:lookup_swap_cgroup_id+0x2b/0x60 Call Trace: swap_pte_batch+0xbf/0x230 zap_pte_range+0x4c8/0x780 unmap_page_range+0x190/0x3e0 exit_mmap+0xd9/0x3c0 do_exit+0x20c/0x4b0

syzbot a rapporté la même trace de pile.

La source de la corruption des PTE est un bug distinct ; cette modification rend le chemin d'arrêt (teardown path) aussi robuste que le gestionnaire de défauts (fault path). Tous les autres appelants de lookup_swap_cgroup_id() sont en aval d'un get_swap_device() qui a déjà validé l'entrée, donc la nouvelle branche est peu utilisée (« cold »).

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Réserver

19/07/2026

Divulgation

25/07/2026

Modérer

accepté

Entrée

VDB-383189

CPE

prêt

EPSS

0.00168

KEV

non

Activités

très faible

Sources

Do you know our Splunk app?

Download it now for free!