veilletech.fr
16 sept. Feed du jour
#01 SÉCURITÉ Faille

Vite exposé : le scan siphonne vos clés cloud

Un serveur de développement sur internet, c'est un cat de vos secrets en HTTP.

F5 Labs a observé en août 2026 une campagne de scan massif visant les serveurs de développement Vite exposés à internet, via CVE-2026-39364 (CVSS 8.2). La faille contourne server.fs.deny en ajoutant ?raw, ?import&raw ou ?import&url&inline à une requête sur /@fs/, et renvoie le fichier en clair dans un HTTP 200 : .env, identifiants AWS, profils Azure, états Terraform. Vite n'écoute sur le réseau que si on l'y force — --host, server.host, ou un mappage de ports Docker trop large.

2 min de lectureintermédiairevidéo 1:15
Partager
Sommaire6 sections
  1. Ce qui se passe
  2. Le mécanisme
  3. Ce que les scans réclament
  4. Comment les requêtes se dissimulent
  5. Ce qu'il faut faire
  6. À retenir

Ce qui se passe

F5 Labs a observé en août 2026 une campagne de scan automatisé qui cherche des serveurs de développement Vite joignables depuis internet et en ressort avec des identifiants cloud. Le levier est CVE-2026-39364 (CVSS 8.2), corrigée en avril 2026 et documentée dans l'avis Vite GHSA-v2wj-q39q-566r.

Le mécanisme

Le serveur de développement sert les fichiers du projet par le point de montage /@fs/. Une liste de refus, server.fs.deny, est censée bloquer les fichiers sensibles (.env, *.crt). La faille tient à un paramètre de requête ajouté au chemin : la vérification saute, le contenu part en clair.

HTTP
GET /@fs/srv/app/.env?raw HTTP/1.1

Variantes observées : ?raw, ?import&raw, ?import&url&inline. Réponse HTTP 200, corps en clair.

Trois conditions doivent être réunies, selon l'avis Vite :

  1. le serveur est explicitement exposé au réseau — --host, option server.host, ou un mappage de ports Docker ;
  2. le fichier visé se trouve dans un répertoire autorisé par server.fs.allow ;
  3. ce même fichier est refusé par un motif de server.fs.deny.

Par défaut, Vite n'écoute que sur localhost.

Ce que les scans réclament

Le dernier en dit long sur le niveau des opérateurs : /proc/self/cwd/.env lit le fichier d'environnement relativement au processus en cours, sans avoir à deviner le chemin absolu de l'application.

Comment les requêtes se dissimulent

Les User-Agent usurpent des robots connus — Googlebot, ClaudeBot, GPTBot, PerplexityBot, OAI-SearchBot, Amazonbot. Les en-têtes X-Forwarded-For et X-Real-IP sont forgés, avec des valeurs comme 34.94.237[.]62 et 104.28.219[.]193, pour franchir les listes d'accès par adresse et brouiller l'analyse des journaux. Le trafic vient principalement des États-Unis, de Belgique, des Pays-Bas, de Singapour et de Taïwan, depuis des plages Google Cloud en 34.x et 35.x.

Ce qu'il faut faire

  1. Mettre Vite à jour — la version corrigée date d'avril 2026.
  2. Vérifier la publication de ports des conteneurs de développement : un 5173:5173 écoute sur toutes les interfaces de l'hôte.
  3. Chercher dans les journaux les requêtes vers /@fs/ portant ?raw ou ?import.
  4. Faire tourner toute clé qu'un .env accessible a pu contenir.

À retenir

La faille est corrigée depuis avril ; ce qui est neuf, c'est l'industrialisation du scan. Un serveur de développement n'a aucune raison d'être joignable depuis internet, et l'erreur vient rarement d'un --host assumé : c'est le docker compose qui publie un port sans qu'on y pense.