Pull to refresh

Критическое обновление безопасности для node.js и io.js

Reading time 2 min
Views 8.5K
4 июля, вышло обновление безопасности с исправлением критической уязвимости для node.js и io.js. Суть уязвимости в том, что при конвертации буфера в UTF8 строку приложение может «упасть».

Привожу мой свободный перевод текста официального сообщения:

Во-первых, очевидно, что решение проблемы не идеально, но оно поможет нам сэкономить время на разработку лучшего решения. В США сейчас вечер и сейчас выходные, связанные с 4 июля (День независимости США).

Мы призываем обновится, потому что детали об уязвимости и потенциале использования ненароком оказались на публичном форуме. Итак, мы предпочти дать компаниям и пользователям инструмент для защиты своих проектов и смягчения DoS атак, если таковые случатся. Потому что лучше встретиться с реальностью, нежели сидеть скрестив пальцы. Время поджимает, особенно для США, где сейчас праздники, что делает это все кошмаром для людей, развертывающих больший проекты. Но этот призыв мы делаем с полезной информацией.

Короткая история:

Крис Ривз и Тревор Норрис обнаружили ошибку в V8 в методе, который декодирует UTF строки. Суть ошибки в том, что при конвертации буфера в UTF8 строку процесс может «упасть». Проблема безопасности возникает из-за того, что большое количество информации, поступающее в приложение, использует данный механизм; это означает, что пользователи могут посылать специально сгенерированные строки, чтобы «убить» приложение. Мы знаем, что уязвимо большинство сетевых операций и операций файловой системы, равно как и вызовы функции конвертации буфера в UTF8 строку. Мы знаем, что разбор HTTP(S) заголовков не уязвим, т. к. Node не конвертирует эти данные в UTF8. Это маленькое утешение, которое ограничивает пути эксплуатации уязвимости через HTTP(S), однако очевидно, их предостаточно. Так же у нас еще нет информации о том, как уязвимость воздействует на TLS ограничители (terminators) и прокси сервера (forward-proxy).

Выпуск патча был запланирован на полдень по тихоокеанскому времени. Конечно же, патч не был готов вовремя. В течение дня был проведен обширный тест и верификация дляV8, io.js и Node.js. Сборка тоже заняла некоторое время и из-за всего этого произошла задержка. Федор Индутный сразу же сделал исправление, Бен Нурдуис, Тревор Норрис, Жюльен Джилли, Род Вагг, Майкл Доусон и Иеремия Сенкпаил усердно работали над обновлением.

[ Источник ]

UPD: Спасибо arelay за исправления.
Tags:
Hubs:
+10
Comments 7
Comments Comments 7

Articles