Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
rocq-cve-poc-21682 — CVE-2026-72703 — Rocq Guard Checker принимает незавершающийся fixpoint через непроверенные перекрёстные вызовы | Kitploit
Инструменты/GitHubGitHub/endrazine/rocq-cve-poc-21682
Статический анализАнализ уязвимостейЭксплуатацияКриптография
GitHubendrazine/rocq-cve-poc-21682

rocq-cve-poc-21682

CVE-2026-72703 — Rocq Guard Checker принимает незавершающийся fixpoint через непроверенные перекрёстные вызовы

Репозиторий
2 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-72703 — Проверяющий guard checker Rocq принимает незавершающуюся фиксированную точку через непроверенные перекрёстные вызовы

Доказательство 0 = 1 без аксиом через обход равномерности параметров в guard checker.

Краткое описание уязвимости

Guard checker ядра Rocq (верификатор завершаемости фиксированных точек) считает все параметры вложенной взаимной фиксированной точки равномерными, не исследуя вызовы между телами фиксированной точки. Функция find_uniform_parameters в kernel/inductive.ml проверяет только самовызовы; если ни одно тело не вызывает само себя, каждый параметр признаётся равномерным. Параметр, который растёт через перекрёстный вызов, может затем сохранить некорректную спецификацию подтерма, и рекурсивный вызов принимается, даже если его аргумент не является структурно меньшим.

Это допускает незавершающееся определение, доказывающее False, из которого следует любое утверждение — включая 0 = 1.

Доказательство не требует аксиом, тактик, плагинов или небезопасных флагов. Print Assumptions сообщает, что оно замкнуто относительно глобального контекста.

Использование

docker build -t rocq-cve-poc-21682 .
docker run --rm rocq-cve-poc-21682

На уязвимой версии (Rocq 8.20 – <9.2.0) вывод подтверждает доказательство 0 = 1 без аксиом.

На исправленной версии (Rocq ≥9.2.0) guard checker отвергает фиксированную точку.

Влияние

Любая система, полагающаяся на доказательства, проверенные ядром Rocq/Coq, может быть затронута, если она работает на уязвимой версии без дополнительных мер защиты:

  • Формально верифицированные компиляторы (CompCert)
  • Верифицированные ядра ОС (CertiKOS)
  • Фреймворки separation logic (Iris)
  • Математические библиотеки (MathComp)
  • Proof-carrying code, где вредоносный файл .v в зависимости может внести некорректные объявления
  • Верифицированные смарт-контракты (ConCert)

Первопричина

find_uniform_parameters в kernel/inductive.ml проверяет только самовызовы внутри каждого тела взаимной фиксированной точки. Когда ни одно тело не содержит самовызова (все вызовы — перекрёстные между телами), каждый параметр помечается как равномерный. Параметр, который фактически изменяется при перекрёстных вызовах, сохраняет некорректную спецификацию подтерма, что позволяет guard checker принять рекурсивный вызов с аргументом, не являющимся структурно меньшим.

Оценка

ПолеЗначение
CVECVE-2026-72703
CVSS 3.1AV:L/AC:L/PR:N/UI:R/S:C/C:N/I:H/A:N — 7.1 (High)
CVSS 4.0AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N — 6.8 (Medium)
CWECWE-670 — Always-Incorrect Control Flow Implementation

Затронутые версии

ПродуктЗатронутыИсправлено
Rocq Prover8.20 – <9.2.09.2.0

Меры защиты

  • Обновитесь до Rocq 9.2.0 или более поздней версии.
  • Запускайте coqchk для скомпилированных файлов .vo в качестве дополнительной меры защиты.

Ссылки

Отчёт об ошибкеrocq-prover/rocq#21682
Исправлениеrocq-prover/rocq#21684
Рекомендация VulnCheckvulncheck.com

Хронология

ДатаСобытие
2025Об ошибке сообщено (rocq-prover/rocq#21682)
2025Исправление объединено (PR #21684) в Rocq 9.2.0
2026-08-24CVE-2026-72703 опубликован VulnCheck
2026-08-24Опубликован воспроизводимый в Docker PoC

Благодарности

  • Обнаружение ошибки: Tristan Stérin, Claude Opus 4.6 (Anthropic)
  • Исправление ядра: PR #21684
  • Упаковка PoC: Jonathan Brossard (@endrazine) — MOABI / PSIRT.com
Скачать инструмент