Основная сеть могла принимать недействительные доказательства: в SP1 от Succinct обнаружена уязвимость высокой степени опасности

OdailyOdaily

Odaily News: в системе нулевого разглашения SP1 от Succinct обнаружена уязвимость высокой степени опасности, влияющая на надёжность. Уязвимость была раскрыта 11 октября через уведомление GitHub GHSA-p7v2-jjv3-8p8f и затрагивает версии нативного Rust-верификатора SP1 с 6.0.0 по 6.8.0, из-за чего основная сеть Prover Network могла принимать недействительные доказательства: злоумышленник мог подать доказательство недействительного выполнения, и верификаторы сети всё равно его принимали. Причина уязвимости в том, что верификатор считывает только метку данных (заявленную размерность) и не проверяет, равно ли фактическое количество сохранённых элементов произведению размерностей; атакующий мог подделать метку, чтобы недействительное доказательство прошло проверку. Проверки Groth16 и Plonk с доказательствами wrap фиксированной формы не затронуты, ончейн-проверщик Solidity также безопасен. Succinct 24 сентября выпустила исправленную версию 6.8.1 и развернула её в основной сети; в этой версии добавлена проверка длины при десериализации. Уязвимость обнаружил Vitalis Salis и сообщил о ней через программу вознаграждений за уязвимости Immunefi. Пользователям, самостоятельно запускающим нативный Rust-верификатор и принимающим недоверенные доказательства, необходимо обновиться до версии 6.8.1.

Данный контент предназначен исключительно для информационных и образовательных целей и не является инвестиционным советом, связанным с BTCC. BTCC прилагает все усилия, но не может гарантировать правдивость, точность или оригинальность вышеприведенного контента.