πŸ” CVE Alert

CVE-2026-72703

MEDIUM 6.3

Rocq Prover 8.20 before 9.2.0 Guard Checker Accepts Non-Terminating Fixpoint via Unchecked Cross-Calls

CVSS Score
6.3
EPSS Score
0.0%
EPSS Percentile
0th

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.

CWE CWE-670
Vendor rocq-prover
Product rocq
Published Aug 24, 2026
Stay Ahead of the Next One

Get instant alerts for rocq-prover rocq

Be the first to know when new medium vulnerabilities affecting rocq-prover rocq are published β€” delivered to Slack, Telegram or Discord.

Get Free Alerts β†’ Free Β· No credit card Β· 60 sec setup

CVSS v3 Breakdown

CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N
Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Changed
Confidentiality
None
Integrity
High
Availability
None

Affected Versions

rocq-prover / rocq
8.20 < 9.2.0

References

NVD β†— CVE.org β†— EPSS Data β†—
github.com: https://github.com/rocq-prover/rocq github.com: https://github.com/rocq-prover/rocq/issues/21682 github.com: https://github.com/rocq-prover/rocq/pull/21684 github.com: https://github.com/endrazine/rocq-cve-poc-21682 vulncheck.com: https://www.vulncheck.com/advisories/rocq-prover-before-guard-checker-accepts-non-terminating-fixpoint-via-unchecked-cross-calls

Credits

Tristan StΓ©rin πŸ” Jonathan Brossard (MOABI)