Уязвимость Bitcoin позволяет создавать неограниченное количество монет
Москва, 15:18, 22 Сен 2018, редакция FTimes.ru, автор Сергей Кузнецов.
В понедельник (17 сентября 2018 года) обнаружена уязвимость (известная как CVE-2018-17144) в Bitcoin Core (эталонная реализация Bitcoin), которая существовала с версии 0.14.0 Bitcoin Core (выпущена 8 марта 2017 года). Она затрагивает разработчиков, работающих с Bitcoin Core, а также некоторые проекты, поддерживающие другие крипторесурсы, которые используют этот код (такие как «Bitcoin ABC» и «Bitcoin Unlimited», две ведущие полномасштабные реализации протокола Bitcoin Cash). Об этой уязвимости сообщалось анонимно как ошибка «Отказ в обслуживании» (DoS).
Разработчики Bitcoin Core придумали исправление для этой ошибки на следующий день (18 сентября 2018 года) и выпустили ее как часть версий Bitcoin Core 0.16.3 и 0.17.0rc4. Они настоятельно призвали всех, кто запустил уязвимые версии Bitcoin Core (то есть 0.14.0 до 0.16.2 включительно), чтобы как можно скорее перейти на версию 0.16.3.
Однако вскоре после устранения уязвимости разработчики Bitcoin Core обнаружили, что ошибка в коде, вызывающая проблему DoS, была еще более серьезной, чем считалось ранее, поскольку она также создала вторую проблему: можно было использовать ту же уязвимость для «раздутия» количества Bitcoin ( т.е. создавать новые монеты, превышающие предел в 21 миллион, установленный Сатоши, что могло бы привести к девальвации существующих биткоинов).
Это означало, что исправление кода для ошибки DoS также исправит ошибку девальвации. Но, вероятно, чтобы не вызвать панику и поощрять быстрые обновления, разработчики решили раскрыть только ошибку DoS.
20 сентября, после того, как сообщение на открытом форуме выявило все последствия этой уязвимости, разработчики Bitcoin Core решили выйти на новый уровень и опубликовать полный отчет о раскрытии информации для CVE-2018-17144.
Более половины хешрейта обновлено до исправленных узлов (версия 0.16.3). Разработчики утверждают, что, хотя они «не знают о каких-либо попытках использовать эту уязвимость», по-прежнему крайне важно, чтобы «затронутые пользователи обновляли и применяли последние исправления, чтобы гарантировать невозможность крупных реорганизаций, разработку недопустимых блоков или принятие недействительных транзакций».