В записи CVE-2026-48100 разобрана уязвимость Payy до версии 1.3.0: агрегирующая схема доказательства не проверяла, что неиспользованный хвост публичного массива сообщений заполнен нулями. Зарегистрированный прувер мог добавить к действительному доказательству блока поддельное сообщение на вывод, а контракт `RollupV1` исполнял его как обычный перевод USDC.

Payy связала этот дефект с атакой 24 сентября. По постмортему, первый ложный вывод освободил 1 828 589,378132 USDC, второй — ещё 90 202,820016 USDC: всего около 1,92 млн. Первоначальная статья dok.news учитывала одну видимую транзакцию примерно на 1,83 млн USDC; новый разбор объясняет разницу вторым выводом.

Это не означает взлом криптографии Noir или Barretenberg вообще. Ошибка находилась в схеме Payy: внутреннее доказательство связывало настоящие сообщения с блоком, но лишние ячейки внешнего массива оставались свободными, а подписи валидаторов их не охватывали. При этом advisory уточняет, что в рабочем контракте `verifyRollup` был доступен только разрешённому пруверу, поэтому случайный внешний адрес не мог отправить такое доказательство напрямую. Как атакующий прошёл это ограничение, опубликованные материалы не объясняют.

В версии 1.3.0 Payy добавила проверку нулей в оставшихся ячейках, после которой поддельное сообщение уже не входит в валидное доказательство. Но наличие исправленного кода ещё не подтверждает его развёртывание: в постмортеме нет сроков возобновления остановленной платёжной сети и плана компенсации. По состоянию на 2 октября эти вопросы остаются открытыми.