Критическая уязвимость в библиотеке basic-ftp для Node.js угрожает удаленным атакам с полным контролем системы

vulnerability

В Банке данных угроз безопасности информации (BDU) зарегистрирована новая критическая уязвимость, представляющая серьезную опасность для веб-приложений, использующих популярную библиотеку для работы с FTP. Уязвимость, получившая идентификатор BDU:2026-04351 и CVE-2026-27699, обнаружена в библиотеке "basic-ftp" для программной платформы Node.js. По сути, ошибка позволяет удаленному злоумышленнику обойти защитные механизмы и выполнить произвольный код на целевой системе, что эквивалентно получению полного контроля над ней.

Детали уязвимости

Техническая суть проблемы заключается в неправильной проверке путей в функции "downloadToDir()". Конкретно, речь идет об уязвимости типа "Обход пути" (Path Traversal, CWE-22). Эта функция предназначена для безопасной загрузки файлов с FTP-сервера в указанный локальный каталог. Однако из-за недостаточной валидации входных данных атакующий может манипулировать параметрами так, чтобы файлы загружались за пределы предназначенной директории. Например, используя специальные последовательности символов вроде "../", можно перенаправить запись в системные папки. В результате злоумышленник может перезаписать критически важные системные файлы или разместить вредоносный исполняемый код (payload).

Библиотека "basic-ftp" является широко распространенным решением для реализации FTP-клиента в приложениях на Node.js. Она используется для автоматизации задач передачи файлов, интеграции с различными сервисами и бэкенд-обработки данных. Уязвимость затрагивает все версии библиотеки до 5.1.0 включительно. Следовательно, тысячи проектов по всему миру потенциально находятся под угрозой.

Уровень опасности этой уязвимости оценен как критический. Системы оценки CVSS 2.0 и CVSS 3.1 присваивают ей максимальные или близкие к максимальным баллы: 10.0 и 9.8 соответственно. Такие высокие оценки обусловлены несколькими факторами. Во-первых, для эксплуатации уязвимости не требуется аутентификация (PR:N в CVSS 3.x), а также не нужны какие-либо действия со стороны пользователя (UI:N). Во-вторых, атака может быть осуществлена удаленно через сеть (AV:N). В-третьих, успешная эксплуатация приводит к полной компрометации конфиденциальности, целостности и доступности системы (C:H/I:H/A:H).

Главная угроза заключается в том, что информация об уязвимости и эксплойты уже находятся в открытом доступе. Это значительно снижает порог входа для киберпреступников. Как следствие, злоумышленники могут быстро начать массовое сканирование интернета в поисках уязвимых приложений. Далее, возможные сценарии атак включают установку программ-вымогателей (ransomware), создание бэкдоров для постоянного доступа (persistence), кражу данных или интеграцию системы в ботнет.

Производитель, сообщество свободного программного обеспечения, оперативно отреагировало на обнаружение проблемы. Уязвимость была подтверждена, и в кратчайшие сроки выпущено исправление. Проблема полностью устранена в версии "basic-ftp" 5.2.0. Разработчики опубликовали официальное уведомление о безопасности на платформе GitHub, где подробно описан характер уязвимости и способы ее устранения.

Таким образом, единственной эффективной мерой защиты является немедленное обновление библиотеки "basic-ftp" до версии 5.2.0 или более новой. Администраторам и разработчикам необходимо провести аудит всех проектов, зависимостей и пакетов, которые используют эту библиотеку. Особое внимание следует уделить серверам, которые обрабатывают входящие FTP-соединения от ненадежных источников. Кроме того, в качестве временной меры можно рассмотреть возможность ограничения сетевого доступа к уязвимым сервисам с помощью брандмауэров.

В целом, данный инцидент в очередной раз подчеркивает важность своевременного управления зависимостями в современной разработке. Регулярный мониторинг источников информации об уязвимостях, таких как BDU или базы данных CVE, а также применение автоматизированных средств сканирования (Software Composition Analysis, SCA) должны быть неотъемлемой частью жизненного цикла любого программного обеспечения. Быстрая реакция сообщества на эту критическую уязвимость является положительным примером, однако скорость распространения эксплойтов требует от ИТ-специалистов предельной оперативности в применении патчей.

Ссылки

Комментарии: 0