10 matches found
CVE-2026-72705
A flaw was found in Rocq Prover. The guard checker component fails to properly track recursive calls when a fixpoint passes itself as a higher-order argument to another fixpoint. This oversight allows for the creation of a type that is logically equivalent to its own negation, which can lead to t...
CVE-2026-72703
A flaw was found in Rocq Prover. The guard checker incorrectly processes parameters of nested mutual fixpoints when cross-calls occur between different bodies of the fixpoint. This oversight allows the system to accept non-terminating definitions as structurally decreasing. This critical logical...
CVE-2026-72711 Lean 4 before 4.32.2 Kernel Accepts Opaque Declaration With an Unbound Free Variable
The Lean 4 kernel does not check that the body of an opaque declaration is closed. environment::addopaque omits the checknometavarnofvar call that the definition and theorem paths perform, so a value containing a free variable that is absent from the local context is not rejected outright. A...
EUVD-2026-65143
Rocq Prover does not restore the universe graph's copy of the universe checking flag when a module that locally disabled the check is closed. Local Unset Universe Checking inside a module is expected to last only until the module ends, and the global flag is restored, but the universe graph keeps...
CVE-2026-72714
Rocq Prover (through 9.2.0) contains a state desynchronization in its universe checking mechanism. When a module that locally disabled the universe checking flag is closed, the global flag is restored but the universe graph retains its own copy left disabled . The kernel then accepts universe-inc...
CVE-2026-72711
CVE-2026-72711 is a kernel soundness flaw in Lean 4 before 4.32.2. The function environment::add_opaque omits the check_no_metavar_no_fvar closure check that the definition and theorem paths perform. A metaprogram can exploit a stale entry in the type checker's inference cache to submit an opaque...
EUVD-2026-65142
The Lean 4 kernel does not check that the body of an opaque declaration is closed. environment::addopaque omits the checknometavarnofvar call that the definition and theorem paths perform, so a value containing a free variable that is absent from the local context is not rejected outright. A...
CVE-2026-72711 Lean 4 before 4.32.2 Kernel Accepts Opaque Declaration With an Unbound Free Variable
The Lean 4 kernel does not check that the body of an opaque declaration is closed. environment::addopaque omits the checknometavarnofvar call that the definition and theorem paths perform, so a value containing a free variable that is absent from the local context is not rejected outright. A...
CVE-2026-72704 Rocq Prover through 9.2.0 Guard Checker Trusts Corrupted Recursive Tree After Transport
The guard checker in Rocq Prover does not recheck the recursive tree representation of an inductive type parameter after that parameter has been changed by transport. A fixpoint may apply a rewrite along an equality between types to its recursive argument, which the guard checker accepts because...
CVE-2026-72703 Rocq Prover 8.20 before 9.2.0 Guard Checker Accepts Non-Terminating Fixpoint via Unchecked Cross-Calls
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. finduniformparameters in kernel/inductive.ml inspects only self-recursive calls, so when no body calls itself the function concludes th...