Polygon устранила уязвимости, позволявшие замедлять ноды легитимными транзакциями
Разработчики Polygon исправили две уязвимости средней степени опасности в системе параллельного выполнения транзакций BlockSTM V2. Баги позволяли легитимным транзакциям создавать несоразмерную нагрузку на ноды.
Polygon 15 октября раскрыла информацию о двух уязвимостях средней степени опасности в клиенте Bor для Polygon PoS. Проблемы касались системы параллельного выполнения транзакций BlockSTM V2 и не влияли на результаты транзакций или консенсус. Риск заключался в доступности: нода могла тратить слишком много времени на обработку блока, что замедляло её работу.
Bor обрабатывает блоки двумя способами — последовательным и параллельным, используя тот, который завершается первым. В одном из тестов последовательное выполнение заняло миллисекунды, а параллельное продолжало работать около 11 секунд. Параллельный режим проверял, нужно ли остановить спекулятивную работу, только между транзакциями — уже запущенная дорогая транзакция должна была завершиться, даже если последовательное выполнение уже дало результат.
Первая уязвимость позволяла спекулятивному выполнению сохранять избыточное количество вычисленных данных. Вторая приводила к повторному пересчёту хеша кода контракта вместо повторного использования ранее полученного результата. Обе проблемы создавали нагрузку на ноды, несоразмерную стоимости транзакций в газе.
Патч в версии Bor v2.10.3 ограничивает размер общего кеша и позволяет повторно использовать результат хеширования кода. Обновление не требует хардфорка, миграции базы данных или ресинхронизации нод. Polygon распространила приватную сборку для тестовой сети Amoy 5 октября, для мейннета — 8 октября. Публичное раскрытие состоялось после того, как большинство валидаторов и крупных RPC-провайдеров обновились.
Компания заявила, что не знает о случаях эксплуатации уязвимостей в мейннете или Amoy.
Источник
- coindoo.comPolygon Patches Bugs That Let Valid Transactions Slow Nodes (Coindoo)





