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로 업그레이드해야 합니다.






