Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект
Безопасность

Хакеры массово сканируют dev-серверы Vite и крадут ключи AWS и Azure

16 сентября 2026·7 мин чтения
ViteCVE-2026-39364
Массовое сканирование открытых dev-серверов Vite и кража облачных ключей

Коротко о главном

Компания F5 зафиксировала масштабную кампанию сканирования, которая охотится за открытыми в интернет dev-серверами Vite и эксплуатирует уязвимость CVE-2026-39364 (CVSS 7.5). Без аутентификации злоумышленник обходит защиту server.fs.deny, добавляя к запросу параметры вроде ?raw, и читает файлы, которые сервер обязан скрывать: .env, ключи AWS, токены Azure, Terraform-стейты. Уязвимы Vite 7.1.0–7.3.1 и 8.0.0–8.0.4; исправления вышли в 7.3.2 и 8.0.5. Если ваш dev-сервер Vite смотрит наружу — считайте секреты скомпрометированными и ротируйте их. Разгрести последствия помогут наши команды веб-разработки и информационной безопасности.

Опасность не в самой уязвимости чтения файлов, а в том, что dev-сервер вообще оказался в публичном доступе. Vite по умолчанию слушает порт 5173 и не рассчитан на выход в интернет — но контейнеры, туннели и небрежные настройки биндинга регулярно выставляют его наружу. Дальше атака превращается в захват облака: украденный .env с access key AWS даёт доступ к инфраструктуре, а Terraform-стейт раскрывает всю её карту. Проверить, не торчит ли что-то лишнее в вашем периметре, поможет аудит облака и DevOps-безопасности.

Это ещё один случай, когда инструмент разработки становится точкой входа в прод. По данным F5, за август 2026 года число попыток эксплуатации выросло более чем в 18 раз относительно фонового уровня предыдущих трёх месяцев. Ниже — как устроена атака, что именно ищут сканеры и какой чек-лист закрывает риск за один спринт.

Что произошло

CVE-2026-39364 — уязвимость раскрытия файлов в Vite, опубликованная 7 апреля 2026 года и классифицированная как CWE-200 (раскрытие чувствительной информации). Проблема в маршруте @fs, через который dev-сервер отдаёт файлы проекта. Обычно этот маршрут уважает список запретов server.fs.deny и не позволяет вытащить конфиги и секреты. Но манипуляция query-параметрами отключает фильтрацию: сервер возвращает содержимое файла в виде простого текста.

Рабочими оказались комбинации ?raw, ?import&raw и ?import&url&inline. Дополнительно атакующие применяли path traversal с завершающими разделителями и двойное URL-кодирование (например, %252f), чтобы проскочить промежуточные средства защиты — WAF и прокси. По сути, любой файл, до которого дотягивается процесс dev-сервера, становится читаемым для анонимного запроса извне.

F5 обнаружила кампанию через свою сеть honeypot-сенсоров и описала её как систематическую разведку, а не точечные удары. Инфраструктура сканирования пробовала и более старые обходы контроля доступа Vite, что говорит о широкой библиотеке эксплойтов, а не об охоте за одной конкретной дырой.

Что именно ищут сканеры

Запросы бьют по предсказуемому набору целей — тому, где команды хранят секреты и карту инфраструктуры:

Файлы окружения: .env, .env.local, .env.production, .env.development, .env.staging.

Учётные данные AWS в разных пользовательских директориях и профили с access-ключами.

Профили и токены доступа Azure.

Файлы Infrastructure-as-Code: terraform.tfstate и serverless.yml.

Системные артефакты: /etc/passwd и /proc/self/environ — последний часто содержит переменные окружения процесса, то есть те же секреты.

Логика атакующих проста: один вытащенный ключ AWS или Azure открывает дорогу к облачным ресурсам, а Terraform-стейт показывает, что именно там развёрнуто и куда двигаться дальше. Раскрытие .env из витрины разработчика превращается в полноценный инцидент в проде.

Масштаб кампании

По телеметрии F5 за август 2026 года: 807 сгруппированных по сессиям атак и порядка 32 000 «сырых» событий, из которых 32 010 классифицированы как утечка информации, 1 729 — как обращение к предсказуемым ресурсам и 1 586 — как path traversal. Для контекста: за предыдущие три месяца фон составлял всего 1 732 события. То есть речь о скачке более чем в 18 раз за один месяц.

География источников по объёму событий: США — 17 297, Бельгия — 4 407, Нидерланды — 4 011, Сингапур — 2 842, Тайвань — 1 994. Значительная часть трафика шла из диапазонов Google Cloud Platform (блоки 34.x и 35.x) — то есть с арендованных облачных хостов, а не из «домашних» сетей. Среди активных вредоносных адресов F5 называет 34.14.15.105, 34.16.200.129 и 34.11.196.206.

Что это значит для команд разработки

Главный вывод — не «обновите Vite», а «dev-сервер не должен быть доступен из интернета». Vite явно предупреждает, что режим разработки не предназначен для публичного размещения, и всё же порт 5173 регулярно оказывается открытым: из-за проброса портов в Docker без ограничения на localhost, из-за туннелей вроде ngrok, оставленных на ночь, из-за облачных preview-окружений и CI-раннеров с публичным IP. Кампания CVE-2026-39364 просто индустриализировала поиск таких серверов.

Второй урок — про хранение секретов. Если утечка одного .env компрометирует прод, значит секреты лежат в открытом виде рядом с кодом, а привилегии ключей избыточны. Долгоживущие статичные ключи AWS, единый секрет на все окружения, отсутствие ограничения по IP и ролям — вот что превращает уязвимость чтения файла в захват инфраструктуры. Правильная архитектура делает такой же инцидент управляемым: короткоживущие токены, разделение окружений, секрет-менеджер вместо файлов в репозитории, принцип наименьших привилегий.

Отдельно стоит учитывать, что кампания попутно тестировала и старые обходы Vite — CVE-2025-30208, CVE-2025-31125 и CVE-2024-45811. Если вы откладывали обновления фронтенд-тулинга, эта новость — повод закрыть весь накопившийся хвост, а не только последнюю CVE.

Что делать прямо сейчас

Обновите Vite. Перейдите на 7.3.2, 8.0.5 или актуальные релизы в ветках 4.5.x, 5.x и 6.x, куда бэкпортированы исправления.

Уберите dev-сервер из публичного доступа. Биндьте его на localhost, проверьте настройки Docker и Kubernetes, закройте порт 5173 снаружи, отключите забытые туннели.

Ротируйте секреты. Если dev-сервер был доступен извне, считайте, что ключи AWS, токены Azure и Terraform-стейты утекли, и перевыпустите их.

Настройте WAF. Блокируйте запросы к сегментам пути /@fs/ и подозрительные параметры; учитывайте двойное кодирование при написании сигнатур.

Наведите порядок в управлении секретами. Перенесите секреты из файлов в секрет-менеджер, введите короткоживущие токены и разделение прав по окружениям.

Часто задаваемые вопросы

Что такое CVE-2026-39364? Это уязвимость раскрытия файлов в dev-сервере Vite (CVSS 7.5), позволяющая неаутентифицированному злоумышленнику обойти server.fs.deny через query-параметры вроде ?raw и прочитать конфиги и секреты, включая .env.

Какие версии уязвимы? Vite 7.1.0–7.3.1 и 8.0.0–8.0.4. Исправления вышли в 7.3.2 и 8.0.5, а также в актуальных релизах веток 4.5.x, 5.x и 6.x.

Уязвим ли прод-билд? Нет, проблема касается именно dev-сервера Vite. Но если dev-сервер открыт в интернет — а именно это и эксплуатируют, — риск реален независимо от того, что у вас в проде.

Как понять, что нас атаковали? Ищите в логах обращения к /@fs/ с параметрами ?raw, ?import&raw, ?import&url&inline, признаки path traversal и двойного кодирования (%252f), а также запросы к именам .env, terraform.tfstate, /etc/passwd.

Что делать в первую очередь? Убрать dev-сервер из публичного доступа и ротировать все секреты, которые могли утечь, — это важнее самого обновления, хотя обновиться тоже нужно.

Источники

F5 Labs — Cloud Takeover: Mass Scanning for Exposed Vite Endpoints (CVE-2026-39364) (Tier-1, первичный анализ и телеметрия).

BleepingComputer — Hackers target exposed Vite dev servers to steal AWS, Azure secrets, 14 сентября 2026 (Tier-1, независимое подтверждение).

The Hacker News — Mass-Scanning Campaign Exploits Vite Flaw to Extract Cloud Credentials From Exposed Dev Servers (Tier-1, отраслевой разбор).

Закроем периметр разработки и наведём порядок в секретах

Кампания вокруг CVE-2026-39364 показала: открытый dev-сервер и .env рядом с кодом превращают мелкую уязвимость в захват облака. Проведём аудит облачной инфраструктуры и CI/CD, уберём dev-серверы из публичного доступа, перенесём секреты в секрет-менеджер и настроим короткоживущие токены с наименьшими привилегиями.

Заказать аудит безопасности
Материал подготовлен редакцией YuSMP Group по открытым источникам. Нужна экспертиза по теме или разработка под задачу — обсудим проект.