CVE-2026-72704: medium-severity vulnerability in rocq-prover rocq
Rocq Prover through 9.2.0 Guard Checker Trusts Corrupted Recursive Tree After Transport
Published · Updated
E-mail alert when it lands in KEV, gets a public PoC or its score goes up.
33Vexday Risk Score
No sign of exploitation. It has a public proof of concept.
ssvc Attendcvss 6.8epss 0.2%
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 the inductive type is preserved, while the recursive tree recorded for the parameter is altered. A second fixpoint that calls the first inherits the altered recursive tree without verification, so a call that is not structurally decreasing is accepted as terminating. The resulting non-terminating definition proves that a natural number equals its own successor and therefore False, from which any proposition follows. The demonstration uses two axioms that follow from univalence and are consistent with the calculus of inductive constructions, so the contradiction comes from the guard check rather than from the assumptions. A fix is proposed but not merged.
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
Affected products
rocq-prover · rocqpublic PoCs found — 1
cve_referencegithub.com/endrazine/rocq-cve-poc-22024★ 0⚠ Public resources, to assess the exposure of systems you control or are authorized to test. Test only with authorization.
Related CVEs — rocq-prover rocq
In the same product, most dangerous first.
CVE-2026-72714MEDIUMRocq Prover through 9.2.0 Universe Checking State Desynchronised After Module CloseEPSS 0.2%CVE-2026-72705MEDIUMRocq Prover before 9.2.0 Guard Checker Accepts Fixpoint Passed as a Higher-Order ArgumentEPSS 0.2%CVE-2026-72703MEDIUMRocq Prover 8.20 before 9.2.0 Guard Checker Accepts Non-Terminating Fixpoint via Unchecked Cross-CallsEPSS 0.2%CVE-2020-37268MEDIUMCoq and Rocq Prover Print Assumptions Omits Unsafe Universe Checking Inlined Through Parameter InlineEPSS 0.2%
References
https://github.com/endrazine/rocq-cve-poc-22024https://github.com/rocq-prover/rocqhttps://github.com/rocq-prover/rocq/issues/22024https://github.com/rocq-prover/rocq/pull/22027https://www.vulncheck.com/advisories/rocq-prover-through-guard-checker-trusts-corrupted-recursive-tree-after-transporthttp://www.openwall.com/lists/oss-security/2026/10/26/5