


11 ноября проект Node.js выпустил обновления безопасности 26.13.1, 24.22.3 и 22.23.5. Они доступны для веток 26.x, 24.x и 22.x. На Mentoring.digital разбираем, почему проверить нужно среду выполнения сервиса, включая контейнеры и CI.
В официальном сообщении перечислены уязвимости HTTP/2, TLS, HTTPS и модели разрешений. Наивысшая указанная серьёзность исправлений в каждой из трёх веток относится к уровню High. Это оценка проекта Node.js, а не результат проверки конкретного приложения редакцией.
Среди затронутых сценариев есть завершение HTTP/2-потоков, обработка TLS-соединений, повторное использование TLS-сессий и сокрытие учётных данных прокси в сообщениях об ошибках. Для отдельных проблем описаны риски завершения процесса или раскрытия данных. Условия и набор затронутых веток различаются.
Например, ошибка рекурсивного наблюдения за файлами при включённой модели разрешений касается имён запрещённых вложенных путей на macOS и Windows. Её нельзя описывать как подтверждённое чтение содержимого любых файлов.
Для приложения на поддерживаемой ветке сначала проверьте исправляющий выпуск этой же ветки. Переход между основными версиями меняет больше условий совместимости и требует отдельного плана.
Обновление пакетов через npm не заменяет Node.js. Версия должна быть проверена внутри запускаемого контейнера, на runner CI и у фоновых процессов. Локальная команда node --version показывает только бинарный файл, найденный в текущем окружении.
Повторите штатные проверки приложения и его сетевых интеграций. Если сервис использует HTTP/2, клиентские сертификаты или собственную TLS-конфигурацию, включите эти сценарии в проверку отдельно. Убедитесь, что старые экземпляры процесса заменены и работают с ожидаемой версией.
Список исправлений не доказывает безопасность всей системы. Подготовить проверку обновления конкретного сервиса можно с ментором по Node.js, передав конфигурацию без секретов и описав используемую ветку runtime.