SuccinctのSP1が深刻な脆弱性を暴露し、メインネットが無効な証明を受け入れる可能性がある
Succinct 旗下のゼロ知識証明システム SP1 が高い深刻度の信頼性の脆弱性を暴露しました。この脆弱性は GitHub の公告 GHSA-p7v2-jjv3-8p8f によって公開され、SP1 のネイティブ Rust 検証器 6.0 から 6.8.0 バージョンに影響を与え、メインネットの Prover Network が無効な証明を受け入れる可能性があります:悪意のある証明者が無効な実行の証明を提出しても、ネットワークの検証器はそれを受け入れてしまいます。
脆弱性の原因は、検証器がデータのタグ(宣言次元)を読み取るだけで、実際に保存されている要素の数が次元の積と等しいかどうかを検証していないため、攻撃者はタグを偽造して無効な証明を通過させることができます。固定形状の wrap 証明を使用する Groth16 と Plonk のチェックは影響を受けず、オンチェーンの Solidity チェッカーも安全です。Succinct は 9 月 24 日に修正バージョン 6.8.1 をリリースし、メインネットにデプロイしました;このバージョンでは逆シリアル化の長さチェックが追加されました。
脆弱性は Vitalis Salis によって発見され、Immunefi の脆弱性報奨プログラムに報告されました。ネイティブ Rust 検証器を自分で実行し、信頼できない証明者を受け入れるユーザーは 6.8.1 にアップグレードする必要があります。






