- PVSM.RU - https://www.pvsm.ru -

Внутри HTTP-сервера, встроенного в Node, обнаружена уязвимость

Внутри HTTP сервера, встроенного в Node, обнаружена уязвимостьМэтью Дэйли (Matthew Daley) выяснил, что в коде HTTP-сервера, встроенного в движок Node, есть ошибка или даже просто опечатка (используется «size» вместо «size_»), так что специально сформированным запросом к серверу можно добиться того, что сервер существенно переоценит реальный размер запроса и включит в него содержимое соседних чужих HTTP-запросов (например, частью переданной на сервер переменной станут чьи-нибудь чужие cookies; и если это будет переменная из числа тех, которые тотчас же выводятся на экран, то крякерская атака легко может оказаться успешною).

Всем пользователям Node версий 0.5.x и 0.6.x следует без промедления обновить Node до версии 0.6.17, а обладателям экспериментальных версий из ветки 0.7 следует обновиться до 0.7.8. (Версии 0.4.x не содержат этой ошибки, однако на вашем месте я бы их всё равно обновил, ибо они старьё.)

Об этом опубликовано оповещение [1] во блоге Node.

Рекомендую заодно на этом примере поразмыслить вообще о том, что слишком близкие имена переменных часто являются источником неприятных, труднообнаружимых опечаток. Если у вас в коде есть переменная «time» и надобно создать ещё вторую, то постарайтеся назвать её не «time1», не «_time», не «dtime», а с учётом её смысла — в дýхе «finishedTime», или «deliveryTime», или «nextTime» — даже если имя получится несколько подлиннее и понеудобнее, чем получилося бы отличающееся одним символом.

Автор: Mithgol


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/node-js/7077

Ссылки в тексте:

[1] оповещение: http://blog.nodejs.org/2012/05/07/http-server-security-vulnerability-please-upgrade-to-0-6-17/