CVE-2026-72844
Contournement de la vérification de types du noyau Lean 4 via des projections de structures incompatibles
- Publié
- 20 août 2026
- Mise à jour
- 20 août 2026
- Attribution de CNA
- VulnCheck
- Preuve observée
- 24 août 2026
CVSS primaire
nvd · CVSS 4.0
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:XFaible · 30 prochains jours
- Percentile
- 8,2 %
- Date du modèle
- 21 sept. 2026
EPSS est une estimation statistique, et non une certitude ou une mesure d'impact. Combinez-le avec CVSS, le statut KEV, l'exposition et votre environnement.
Résumé
Le noyau de Lean 4 ne vérifie pas que la structure nommée dans une expression de projection correspond au type de la valeur projetée, et `environment::add_inductive` dans `src/kernel/inductive.cpp` ne vérifiait pas par typage les applications inductives imbriquées qui sont remplacées par des types auxiliaires, de sorte que leurs arguments paramétriques échappaient à la vérification. Un métaprogramme exécuté dans le processus Lean peut enregistrer une inductive imbriquée mal typée dont le constructeur applique une projection `.proj C 0` à une valeur du type sans rapport `W`, et le noyau admet la déclaration via le chemin ordinaire `addDecl` soumis à vérification, au niveau maximal de vérification du noyau, sans `sorry`, `unsafeCast`, `debug.skipKernelTC`, `addDeclWithoutChecking`, FFI, ni fichier `.olean` modifié. Il en résulte une confusion de type produisant une preuve de `False` ne portant aucun axiome, à partir de laquelle n'importe quelle proposition peut être dérivée. La preuve de concept publiée complète en outre deux expressions jusqu'à ce que leurs hachages et leurs profondeurs approximatives entrent en collision, ce qui neutralise la mise en cache du noyau ; c'est la technique utilisée pour atteindre la faille, et non sa cause. L'exploitation nécessite l'exécution d'un métaprogramme dans le processus, par exemple en construisant un projet ou en important une dépendance Lake malveillante.
Sources
1- lean-cve-pocPoC
CVE-2026-72844 : Exemple de preuve de « 0 = 1 » en exploitant une vulnérabilité dans le noyau de Lean 4.
Utilisation responsable
Utilisez les informations de vulnérabilité uniquement sur les systèmes que vous possédez ou que vous êtes autorisé à tester. Kitploit renvoie aux métadonnées de la recherche publique et ne stocke pas de code d'exploitation ni de charges utiles malveillantes.