Читайте также: у компании, которая подтверждает подлинность веб-сайтов, секретные ключи оказались настолько слабыми, что 8 из них взломали

Java, язык программирования, на котором работают Teku и Besu, по умолчанию не проверяет, не был ли сертификат отозван. Поэтому Docker-образы Teku продолжали доверять недействительным сертификатам, даже после того как браузеры перестали им доверять.

Как валидаторы могли потерять деньги

Злоумышленник, вклинившийся между валидатором и сервисом, к которому тот подключается, мог выдать себя за этот сервис. В предупреждении о безопасности Teku сообщила, что валидатор, которого таким образом ввели в заблуждение, мог предложить блок, направляющий комиссии на адрес злоумышленника.

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

«Стандартный узел Teku в основной сети не затронут, и никаких действий не требуется», написала команда, добавив, что «об эксплуатации не сообщалось». Партнер Teku по вопросам безопасности, Consensys Diligence, первым обратил внимание на проблему.

Операторам, которые запускают Teku или Besu непосредственно на своих компьютерах, без Docker, необходимо самостоятельно обновить Java, поскольку обновление программного обеспечения Ethereum не меняет список доверенных сертификатов Java. Новые Docker-образы также не исправляют Java, установленную на хост-компьютере.

Однако тем, кто все еще использует Java 26, исправление дается сложнее. Teku сообщила, что поддержка этой версии прекращена и исправленная сборка для нее не выйдет, поэтому таким операторам нужно перейти на Java 25.