НовостиКриптовалютыCore Lightning выпустила v26.06.10 с исправлениями безопасности и призывает операторов узлов Bitcoin ротировать руны

Core Lightning выпустила v26.06.10 с исправлениями безопасности и призывает операторов узлов Bitcoin ротировать руны

Автор: Coincentral·

Ключевые выводы

  • •Core Lightning версии 26.06.10 содержит исправления безопасности, и разработчики просят всех пользователей обновиться как можно скорее, а также отдельно проверить учётные данные для удалённых команд.
  • •Обновление закрывает способ обхода ограничений рун на имена параметров через дубликаты или варианты с пунктуацией, исправляет сбой commando из-за повторного использования ID команды и отклоняет слишком большие руны.
  • •Операторам рекомендуется привязывать каждую руну commando к идентификатору узла приложения, заносить в чёрный список необъяснённые руны и выпускать новые руны с более строгими ограничениями.
  • •Релиз добавляет проверку подписей транзакций при открытии каналов с двойным финансированием и сплайсинге, отклоняет лимиты пыли выше 5 000 сатоши при открытии каналов и блокирует открытия v2 с нулевым подтверждением, если это явно не разрешено для данного пира.
  • •Это третий подряд точечный релиз, опубликованный без периода эмбарго: тесты безопасности не опубликованы, чтобы затруднить создание рабочих эксплойтов и дать пользователям больше времени на обновление.
Core Lightning выпустила v26.06.10 с исправлениями безопасности и призывает операторов узлов Bitcoin ротировать руны

Core Lightning — одна из основных реализаций ПО для запуска платёжных узлов Lightning в сети Bitcoin — выпустила версию 26.06.10 с новым набором исправлений безопасности, и разработчики просят всех пользователей обновиться как можно скорее. Обновление сочетает патч ПО с второй задачей для операторов: проверкой учётных данных, позволяющих выполнять удалённые команды на их узлах, — шаг, который разработчики описывают как отдельный от установки новой версии. Оно объединяет укрепление плагина, обрабатывающего удалённые команды, с изменениями в том, как узлы оценивают открытие каналов и условия платежей.

Это третий подряд точечный релиз, выпущенный без периода эмбарго. Версии 26.06.8 и 26.06.9 следовали тому же подходу — исправления публиковались сразу. Как и в тех релизах, разработчики вновь не опубликовали тесты, связанные с исправлениями безопасности. Согласно примечаниям к релизу, это затрудняет превращение исправлений в рабочие эксплойты и даёт пользователям больше времени на обновление. Модель раскрытия информации также определяет риски для операторов: как только релиз опубликован, публикуются и устранённые им уязвимости, а значит, узел, не обновившийся вовремя, работает с задокументированными недостатками.

Аудит учётных данных добавлен в чек-лист обновления

Руны и commando находятся в центре работы по безопасности этого обновления. Commando позволяет напрямую подключённому пиру просить узел выполнить команду, и для этого пиру, как правило, нужна руна — учётные данные авторизации.

Обновление закрывает способ обхода ограничений рун на имена параметров с помощью дублирующихся имён или вариантов с различной пунктуацией. Также исправлен сбой в commando, вызванный повторным использованием идентификатора команды после неудачной команды. Слишком большие руны теперь отклоняются сразу; ранее на их декодирование ПО могло тратить квадратичное время.

Разработчики рекомендуют привязывать каждую руну, используемую через commando, к идентификатору узла приложения, которое её использует. При наличии этого ограничения id руну нельзя использовать откуда-либо ещё. Операторам также поручено заносить в чёрный список командой blacklistrune все руны, происхождение которых они не могут объяснить, и затем выпускать новые руны с более строгими ограничениями. Вместе эти шаги представляют собой аудит всех учётных данных, способных вызывать удалённые команды на узле, с отзывом необъяснённых рун до выпуска замен.

Исправления каналов и платежей

Новая версия проверяет подписи транзакций пира при открытии каналов с двойным финансированием и при сплайсинге — операции, изменяющей средства канала без его закрытия. Как указано в changelog, это соответствует спецификации BOLT 2 протокола Lightning, охватывающей установление каналов и обычную работу между пирами.

Ещё одно исправление касается контракта условного платежа, известного как HTLC. Недавно удалённый HTLC мог быть спутан с активным, имеющим тот же payment hash, сумму и срок истечения, из-за чего узел отклонял активный платёж, при этом пир всё ещё мог его получить.

Обработка открытия каналов также стала строже. Узлы теперь отклоняют открытие канала, если пир предлагает лимит пыли — порог, ниже которого выходы считаются пылью, — выше 5 000 сатоши; согласно changelog, прежнее поведение позволяло пиру при принудительном закрытии превратить баланс узла в комиссии. Для открытий с двойным финансированием также отклоняется лимит пыли пира выше канального резерва, а открытие v2 с нулевым подтверждением — канал, который становится активным до подтверждения funding-транзакции, — отклоняется, если оператор явно не разрешил его для этого пира. Двойное финансирование остаётся экспериментальным, и разработчики не рекомендуют каналы с нулевым подтверждением с недоверенными пирами.

Другие изменения добавляют безопасный ответ по умолчанию при сбое хука плагина вместо сбоя или зависания. Повышение комиссий при сплайсинге теперь использует не менее 25/24 от предыдущего feerate, что требуется таким пирам, как Eclair. Узлы, работавшие на dev-сборках, не могут перейти на более старую серию 26.06.x, поскольку схема их базы данных новее. Релиз включает воспроизводимые бинарные файлы для Ubuntu 22.04, 24.04 и 26.04, а также образы Docker.

Раскрытие информации и сроки выпуска

Уязвимости, исправленные в этом релизе, сообщили почти 20 названных источников, включая The Bitcoin Red Team, Мэтта Морхауса (Matt Morehouse) и Никласа Гёгге (Niklas Gögge). Другие попросили не называть их.

На GitHub датой релиза указано 4 ноября, тогда как в тегированном changelog значится 5 ноября. Обновление последовало за отдельным сбоем от stored-триггера, раскрытым 2 ноября. На момент подготовки материала биткоин торговался около 76 002 доллара, снизившись на 5,29% за 24 часа.