FICHE CVE

CVE-2026-72703

Publiée le 2026-08-24 · Dernière modification le 2026-10-26

🇫🇷 EN BREF

Les utilisateurs des versions 8.20 à 9.1.x de Rocq Prover (anciennement Coq) sont concernés par une faille dans la manière dont le système vérifie les définitions récursives. Un attaquant peut concevoir un fichier de preuve malveillant qui contourne les vérifications de terminaison pour prouver des énoncés logiquement impossibles, compromettant ainsi l'intégrité mathématique du système. Cela nécessite qu'un utilisateur charge et exécute manuellement le fichier malveillant localement, car l'attaque ne peut pas être déclenchée à distance ou sans interaction de l'utilisateur.

CVSS 4.06.8 MOYENNE
Type de faiblesse
Publiée2026-08-24
Dernière modification2026-10-26

DÉTAIL DU VECTEUR CVSS

Vecteur d'attaqueLocal
Complexité d'attaqueFaible
Prérequis d'attaqueAucun
Privilèges requisAucun
Interaction utilisateurPassive
Confidentialité (système vulnérable)Aucune
Intégrité (système vulnérable)Élevée
Disponibilité (système vulnérable)Aucune
Confidentialité (système subséquent)Aucune
Intégrité (système subséquent)Aucune
Disponibilité (système subséquent)Aucune

RÉFÉRENCES

Description officielle du NVD (en anglais)

The guard checker in Rocq Prover treats a parameter of a nested mutual fixpoint as uniform without examining calls between the different bodies of that fixpoint. find_uniform_parameters in kernel/inductive.ml inspects only self-recursive calls, so when no body calls itself the function concludes that every parameter is uniform. A parameter that grows through a cross-call from one body to another therefore keeps the subterm specification it inherited from the enclosing fixpoint, and a recursive call guarded by that specification is accepted although the argument is not structurally smaller. A non-terminating definition is admitted as structurally decreasing, which yields a term whose value equals its own successor and so a proof of False, from which any proposition follows. The proof requires no axioms, plugins or unsafe flags and Print Assumptions reports it as closed under the global context. Introduced in Coq 8.20 and fixed in Rocq 9.2.0.