Eclair, программное обеспечение Lightning-узла от ACINQ, внедрило два исправления для уязвимостей, которые могли привести к потере биткоинов узлом из-за чрезмерных комиссий майнерам при финансировании и сплайсинге каналов. Одно ограничит запросы пира на увеличение комиссии при внесении средств Eclair, другое — проверит транзакции от скомпрометированного бэкенда Bitcoin, пока Eclair сохраняет ключи подписи.
Исправления были объединены в основную ветку проекта 2 и 5 октября. По состоянию на 12 октября на странице релизов все еще был указан сентябрьский v0.14.3 как последний. Два октябрьских исправления вышли после этого упакованного релиза.
Рассылка Bitcoin Optech от 9 октября выделила оба изменения как закрывающие пробелы в защите при двойном финансировании и сплайсинге.
Первое исправление, PR #3388, касается попыток пира инициировать замену транзакции с увеличенной комиссией (replace-by-fee, RBF) во время открытия канала с двойным финансированием или сплайсинга, который корректирует финансирование канала. Пир мог запросить замену транзакции с более высокой ставкой комиссии. Eclair сохранял свой вклад в кошелек и оплачивал свои входы по этой ставке, без верхнего предела или бюджета комиссии по этому пути.
Это позволяло злонамеренному пиру установить произвольную ставку комиссии майнерам для вносящего узла, не внося при этом ничего самостоятельно. Потеря оплачивалась бы в виде комиссий майнерам, а не переводилась напрямую пиру.
Исправление отклоняет попытки, превышающие максимальную ставку комиссии финансирования, которую Eclair рекомендует своему пиру. Остаются два исключения: пир покупает ликвидность и оплачивает комиссии за входы Eclair, или узел Eclair не вносит средства в транзакцию. В этих случаях Eclair не несет расходов, на которые распространяется это ограничение.

Сохранение ключей — лишь часть защиты
PR #3390 устраняет отдельную угрозу в режиме Eclair-signer. Бэкенд Bitcoin Core, bitcoind, выбирает монеты и строит транзакции, в то время как Eclair сохраняет ключи и подписывает.
Скомпрометированный бэкенд мог сообщить комиссию в рамках бюджета, но при этом построить транзакцию, которая фактически стоила дороже, в том числе путем удаления выходных данных для сдачи. Согласно учету транзакций Bitcoin, стоимость входа, не назначенная выходам, становится комиссией майнерам. Таким образом, отсутствие сдачи может привести к расходованию средств без указания адреса злоумышленника.
Когда предоставляется бюджет комиссии, исправление рассчитывает фактическую комиссию на основе сумм используемых монет, полученных по идентификатору транзакции для аутентификации их значений. Оно проверяет, соответствует ли заявленная бэкендом комиссия, и применяет бюджет к фактической комиссии. Оно также проверяет, что перестроенные вклады Eclair оплачивают ту же проверенную комиссию, и отклоняет недопустимые позиции выходных данных для сдачи.
Эти исправления отличаются от уязвимости с комиссией при кооперативном закрытии, описанной в сентябрьском отчете CryptoSlate, и проблем с отказом в обслуживании при перезапуске, освещенных 2 октября.
Эти исправления касаются конфигураций двойного финансирования, сплайсинга и режима signer в Eclair. Операторам следует убедиться, что установленная ими сборка содержит октябрьские изменения.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Liam 'Akiba' Wright




