FICHE CVE

CVE-2026-64232

Publiée le 2026-07-24 · Dernière modification le 2026-10-19

🇫🇷 EN BREF

Les systèmes Linux utilisant des pilotes de stockage empilés (tels que dm-multipath combiné à nvme-rdma) sont affectés par une faille dans la manière dont le noyau suit les segments d'intégrité. Un attaquant peut exploiter cette vulnérabilité pour provoquer le plantage du système ou potentiellement prendre le contrôle total de la confidentialité, de l'intégrité et de la disponibilité de la machine. Cette attaque peut être exécutée à distance via le réseau sans nécessiter d'authentification préalable ni d'interaction de l'utilisateur.

CVSS 3.19.8 CRITIQUE
Publiée2026-07-24
Dernière modification2026-10-19

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueRéseau
Complexité d'attaqueFaible
Privilèges requisAucun
Interaction utilisateurAucune
PortéeInchangée
Impact sur la confidentialitéÉlevé
Impact sur l'intégritéÉlevé
Impact sur la disponibilitéÉlevé

RÉFÉRENCES

Description officielle du NVD (en anglais)

In the Linux kernel, the following vulnerability has been resolved: block: recompute nr_integrity_segments in blk_insert_cloned_request blk_insert_cloned_request() already recomputes nr_phys_segments against the bottom queue, because "the queue settings related to segment counting may differ from the original queue." The exact same reasoning applies to integrity segments: a stacked driver's underlying queue can have tighter virt_boundary_mask, seg_boundary_mask, or max_segment_size than the top queue, in which case blk_rq_count_integrity_sg() against the bottom queue produces a different count than the cached rq->nr_integrity_segments inherited from the source request by blk_rq_prep_clone(). When the cached count is lower than the bottom queue's actual count, blk_rq_map_integrity_sg() trips BUG_ON(segments > rq->nr_integrity_segments); on dispatch. The same families of stacked setups that motivated the existing nr_phys_segments recompute -- dm-multipath fanning out to nvme-rdma in particular -- can produce this. Mirror the nr_phys_segments handling: when the request carries integrity, recompute nr_integrity_segments against the bottom queue and reject the request if it exceeds the bottom queue's max_integrity_segments. blk_rq_count_integrity_sg() and queue_max_integrity_segments() are both already available via <linux/blk-integrity.h>, which blk-mq.c includes. This closes a latent gap in the stacking contract and brings the integrity-segment accounting in line with the existing phys-segment accounting.