Lean 4 proof checker can be tricked into accepting false proofs
The Lean 4 system is used to check that mathematical or software proofs are correct. A flaw lets a crafted program make the checker accept a bogus proof, including one that claims 0 = 1, so a "verified" result cannot be trusted.
| Severity | HighCVSS 6.8 of 10 |
|---|---|
| Being exploited? | UnclearNo reports either way yet |
| Fix available? | UnclearNo fixed version published in the sources yet |
| How sure is this? | Official, 3 sourcesBacked by an official source |
How the attack works simplified
- 1Malicious dependencyLake package with a crafted metaprogram
- 2Project buildMetaprogram runs inside the Lean process
- 3Ill-typed declarationNested inductive admitted without type checking
- 4Kernel accepts proofType confusion yields a proof of False
- ResultFalse proofs pass verification
What happened
The Lean 4 kernel does not verify that the structure named in a projection matches the type of the value projected, and nested inductive declarations are admitted without type checking, enabling a type confusion that yields a proof of False with no axioms.
Are you affected?
You are affected if you run Lean 4 builds or import Lake dependencies that execute metaprograms in-process, since exploitation requires running a metaprogram inside the Lean process.
Lean 4 kernel (versions not stated in the provided material).
What to do
- Check the Lean 4 advisory GHSA-4fhc-8rq3-cjvg for a fixed release and update when available
- Only build or import Lake dependencies from sources you trust, since they can run metaprograms
- Do not rely on Lean-verified proofs for high-stakes conclusions until the fix is applied
Timeline
- 20 Aug 2026, 18:16 UTCPublicly disclosed
- 26 Oct 2026, 00:12 UTCReported by oss-security · oss-security
- 26 Oct 2026, 00:15 UTCPicked up by Zero Radar
- 26 Oct 2026, 00:16 UTCReported by oss-security · oss-security
- 26 Oct 2026, 00:20 UTCReported by oss-security · oss-security
- 26 Oct 2026, 00:37 UTCGitHub Advisory reported on it · GitHub Advisory
- 26 Oct 2026, 02:23 UTCNVD reported on it · NVD
Sources 5 reports, oldest first
Official vendor, government CERT or advisory database
- CVE-2026-72844NVD · 20 Aug 2026, 18:16 UTC
- The Lean 4 kernel does not verify that the structure named in a projection expression matches the...GitHub Advisory · 20 Aug 2026, 18:31 UTC
Security researchers research teams and mailing lists
- CVE-2026-72844: Lean 4 kernel soundness bug — forging proofs via nested inductive projections (0 = 1 demonstrated)oss-security · 26 Oct 2026, 00:12 UTC
- CVE-2026-72703: Rocq guard checker accepts non-terminating fixpoint via unchecked cross-calls (0 = 1 demonstrated)oss-security · 26 Oct 2026, 00:16 UTC
- CVE-2026-72705: Rocq guard checker accepts fixpoint passed as higher-order argument (0 = 1 demonstrated)oss-security · 26 Oct 2026, 00:20 UTC
Technical details
- ID
- CVE-2026-72844 · GHSA-4fhc-8rq3-cjvg
- CVSS
- 6.8 / 10
- EPSS
- 0.2% chance of exploitation within 30 days
- Disclosed
- 20 Aug 2026, 18:16 UTC
- On Zero Radar
- 26 Oct 2026, 00:15 UTC (66 days after disclosure)
- Last change
- 26 Oct 2026, 02:23 UTC
The plain-language parts and the attack diagram were written by an AI model (anthropic/claude-haiku-5.5) from the sources above. Facts like versions, exploitation and dates come from the sources themselves. How Zero Radar works