Himanshu Sheoran and Valter Wik expose security flaws in six zkVM systems due to unbound claim data in Fiat-Shamir transcripts, enabling attackers to bypass cryptographic verification and prove impossible statements. Himanshu Sheoran和Valter Wik在博客中揭示了六个zkVM系统的安全漏洞,这些漏洞源于Fiat-Shamir转录中未绑定声明数据,允许攻击者绕过密码学验证,证明数学上不可能的陈述。 Himanshu SheoranとValter Wikは、Fiat-Shamirトランスクリプトにおけるバウンドされていないクレームデータに起因する6つのzkVMシステムにおけるセキュリティ上の欠陥を公開しました。これにより、攻撃者は暗号学的検証をバイパスし、不可能なステートメントを証明することが可能になります。
NotesNotes要点
Flaws arise from unbound claim data in Fiat-Shamir transcripts, making challenges independent of values like claimed_sum.
Attackers can solve linear equations to adjust unbound values, passing verification for invalid executions.
Why is transcript ordering critical in Fiat-Shamir? 为什么 transcript 绑定顺序在 Fiat-Shamir 中至关重要? Fiat-Shamirにおいてトランスクリプトの順序付けがなぜ重要なのか?
If a value influences a later verification equation but is not hashed before the relevant challenge is sampled, the attacker can compute the challenge first and then choose the value to satisfy the equation, breaking soundness. 若某个值影响后续验证方程,却未在相关挑战生成前被哈希进 transcript,攻击者即可先计算挑战,再选择该值以满足方程,从而破坏健壮性。 ある値が後続の検証方程式に影響を与えるものの、関連するチャレンジがサンプリングされる前にハッシュ化されていない場合、攻撃者はまずチャレンジを計算し、その後でその方程式を満たすように値を選択することで、健全性(soundness)を破ることができます。
In sumcheck-based systems like Jolt, how does an unbound input claim reduce to a solvable linear equation? 在基于 sumcheck 的系统如 Jolt 中,未绑定的 input claim 如何转化为可解的线性方程? Joltのようなsumcheckベースのシステムにおいて、アンバウンドな入力(unbound input)はどのように解ける線形方程式に還元されるのでしょうか?
Because compression makes the final verification equation linear in the initial claim, of the form a·H + b = expected, and the coefficients are independent of H, the attacker can directly solve for H. 由于压缩优化使最终验证等式对初始 claim 呈线性形式 a·H+b=expected,且随机系数独立于 H,攻击者可直接解出 H 使等式成立。 圧縮により、最終的な検証方程式が初期の主張(claim)に対する線形形式、すなわち a·H + b = expected の形となり、かつ係数がHに依存しないため、攻撃者はHを直接解くことができる。
Why does this bug class recur across independent zkVM implementations? 为何这一类漏洞在多个独立实现中重复出现? なぜこのバグクラスは独立したzkVM実装間で再発するのか?
Academic descriptions focus on interactive protocols and omit full non-interactive Fiat-Shamir binding details. Modular architectures diffuse transcript responsibility, and optimization pressure encourages omission of seemingly redundant absorptions. 论文通常描述交互式协议而非完整的非交互式 Fiat-Shamir 实现细节。模块化架构导致 transcript 责任分散,加之性能优化压力,使实现者易忽略某些语句级绑定。 学術的な記述では、インタラクティブなプロトコルに焦点を当て、完全な非対話型Fiat-Shamirのバインディング詳細を省略します。モジュラーアーキテクチャはトランスクリプト(記録)の責任を分散させ、最適化のプレッシャーが明白に冗長に見える吸収(absorptions)の省略を促します。