CVE-2026-72844
不整合な構造体プロジェクションによる Lean 4 カーネル型チェックバイパス
- 公開済み
- 2026/08/20
- 更新済み
- 2026/08/20
- CNA の割り当て
- VulnCheck
- 観察された証拠
- 2026/08/24
プライマリ CVSS
nvd · CVSS 4.0
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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 今後 30 日間
- パーセンタイル
- 8.2%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Lean 4 カーネルは、射影式で指定された構造体の名前が、投影される値の型と一致することを検証しません。また、`src/kernel/inductive.cpp` の `environment::add_inductive` は、補助型に置き換えられる入れ子の帰納的適用を型検査しなかったため、それらのパラメトリック引数が検査を逃れていました。Lean プロセス内で実行されるメタプログラムは、無関係な型 `W` の値に `.proj C 0` 射影を適用するコンストラクタを持つ、型が正しくない入れ子の帰納型を登録でき、カーネルは最大のカーネル検査設定において、`sorry`、`unsafeCast`、`debug.skipKernelTC`、`addDeclWithoutChecking`、FFI、または改変された `.olean` ファイルを一切使わずに、通常の checked `addDecl` パスを通じてその宣言を受理します。その結果、型の混乱が生じ、公理を一切伴わない `False` の証明が得られ、そこから任意の命題を導出できます。公開された概念実証ではさらに、ハッシュとおおよその深さが衝突するまで2つの式をパディングしており、これによりカーネルのキャッシュが無効化されます。これは欠陥に到達するために使われた手法であり、原因ではありません。悪用には、プロジェクトのビルドや悪意のある Lake 依存関係のインポートなど、プロセス内でメタプログラムを実行することが必要です。
ソース
1- lean-cve-pocPoC
CVE-2026-72844 : Lean 4 カーネルの脆弱性を利用して「0 = 1」を証明する例。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。