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