CVE-2026-72844
Bypass del Type Checking del Kernel di Lean 4 tramite proiezioni di struttura non corrispondenti
- Pubblicato
- 20 ago 2026
- Aggiornato
- 20 ago 2026
- Assegnazione CNA
- VulnCheck
- Evidenza osservata
- 24 ago 2026
CVSS primario
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:XBasso · prossimi 30 giorni
- Percentile
- 8,2%
- Data del modello
- 21 set 2026
L'EPSS è una stima statistica, non una certezza o una misura di impatto. Combinalo con CVSS, stato KEV, esposizione e ambiente.
Riepilogo
Il kernel di Lean 4 non verifica che la struttura indicata in un'espressione di proiezione corrisponda al tipo del valore su cui viene applicata la proiezione, e environment::add_inductive in src/kernel/inductive.cpp non eseguiva il type check delle applicazioni induttive annidate che vengono sostituite da tipi ausiliari, lasciando così sfuggire i loro argomenti parametrici alla verifica. Un metaprogramma eseguito nel processo Lean può registrare un'induttiva annidata mal tipizzata il cui costruttore applica una proiezione .proj C 0 a un valore del tipo non correlato W, e il kernel ammette la dichiarazione attraverso il normale percorso addDecl con verifica, al livello massimo di controllo del kernel, senza ricorrere a sorry, unsafeCast, debug.skipKernelTC, addDeclWithoutChecking, FFI o a un file .olean modificato. Il risultato è una confusione di tipi che produce una dimostrazione di False priva di assiomi, da cui si può derivare qualsiasi proposizione. Il proof of concept pubblicato aggiunge inoltre padding a due espressioni finché i loro hash e le profondità approssimative non collidono, aggirando la cache del kernel; si tratta della tecnica usata per raggiungere la falla, non della sua causa. Lo sfruttamento richiede l'esecuzione di un metaprogramma in-process, ad esempio compilando un progetto o importando una dipendenza Lake dannosa.
Fonti
1- lean-cve-pocPoC
CVE-2026-72844 : Esempio di dimostrazione di "0 = 1" utilizzando una vulnerabilità nel kernel di Lean 4.
Utilizzo responsabile
Utilizza le informazioni sulla vulnerabilità solo sui sistemi che possiedi o che sei autorizzato a testare. Kitploit si collega ai metadati della ricerca pubblica e non memorizza codici exploit o payload dannosi.