메인넷이 유효하지 않은 증명을 수용할 수 있다, Succinct의 SP1에서 고심각도 취약점 발견
Odaily 보도: Succinct의 영지식 증명 시스템 SP1에서 고심각도 신뢰성 취약점이 발견되었다. 해당 취약점은 10월 11일 GitHub 공지 GHSA-p7v2-jjv3-8p8f를 통해 공개되었으며, SP1 네이티브 Rust 검증기 6.0.0부터 6.8.0 버전에 영향을 미쳐 메인넷 Prover Network가 유효하지 않은 증명을 수용할 가능성이 있다: 악의적인 증명자가 유효하지 않은 실행에 대한 증명을 제출하더라도 네트워크 검증기가 이를 수용하게 된다. 취약점의 원인은 검증기가 데이터의 태그(선언 차원)만 읽고 실제 저장된 요소 수가 차원의 곱과 일치하는지 검증하지 않기 때문이며, 공격자는 태그를 위조하여 유효하지 않은 증명을 통과시킬 수 있다. 고정 형태 wrap 증명을 사용하는 Groth16 및 Plonk 검사는 영향을 받지 않으며, 온체인 Solidity 검사기도 안전하다. Succinct는 9월 24일 수정 버전 6.8.1을 출시하고 메인넷에 배포했으며, 해당 버전에는 역직렬화 길이 검증이 추가되었다. 취약점은 Vitalis Salis가 발견하여 Immunefi 버그 바운티 프로그램을 통해 보고되었다. 네이티브 Rust 검증기를 직접 실행하며 신뢰할 수 없는 증명을 수용하는 사용자는 6.8.1로 업그레이드해야 한다.
