Исследователи обнаружили критическую уязвимость в протоколе CometBFT, позволяющую злоумышленникам вызывать чрезмерное потребление ресурсов CPU. Проблема кроется в механизме SecretConnection, который выполняет ресурсоемкое криптографическое рукопожатие до завершения полноценной аутентификации узлов. Это создает вектор для DoS-атак, при которых атакующий может парализовать работу узла сети, отправляя множество специально сформированных запросов на установку соединения.
Суть проблемы заключается в порядке обработки сетевых пакетов. В текущей реализации CometBFT узел тратит значительные вычислительные мощности на выполнение операций Диффи-Хеллмана и проверку подписей еще до того, как будет подтверждена личность удаленного пира. Поскольку эти операции выполняются в основном потоке обработки соединений, даже небольшое количество одновременных запросов от неавторизованных источников приводит к исчерпанию доступных вычислительных мощностей сервера.
Для инфраструктурных систем, использующих CometBFT в качестве консенсусного движка, данная уязвимость представляет серьезный риск доступности. Эксплуатация не требует наличия валидных учетных данных или доступа к закрытым ключам сети, что делает атаку доступной для любого участника с возможностью отправки сетевого трафика на порт P2P-взаимодействия. Рекомендуется ограничить доступ к P2P-портам на уровне сетевых экранов и следить за обновлениями безопасности проекта.
Ключевые факты
- Уязвимость затрагивает протокол SecretConnection, используемый для шифрования P2P-трафика в CometBFT.
- Атака позволяет истощить ресурсы CPU узла без прохождения процедуры аутентификации пира.
- Основной вектор атаки основан на принудительном выполнении тяжелых криптографических операций до проверки прав доступа.
- Проблема классифицируется как потенциальный вектор для DoS-атак на узлы блокчейн-сетей.
- Исследование подтверждает, что отсутствие ранней фильтрации соединений делает систему уязвимой к перегрузкам.