Netcrook Logo
👤 SECPULSE
🗓️ 27 Feb 2026  

À l’intérieur de la faille RustFS : comment un bug d’aperçu de fichier pouvait livrer vos clés S3

Une faille XSS critique dans RustFS Console expose les identifiants administrateur - voici ce qui s’est passé, et comment les attaquants pouvaient tout dérober.

Imaginez-vous en train de vous connecter à votre console de gestion de serveur, de prévisualiser ce que vous pensez être un PDF inoffensif, et - sans aucun avertissement - de remettre les clés de tout votre stockage cloud. Ce n’est pas une hypothèse. Pour les administrateurs RustFS du monde entier, c’était une bombe à retardement prête à exploser, à cause d’une vulnérabilité XSS persistante dévastatrice qui rendait la prise de contrôle de compte aussi simple que de téléverser le bon fichier.

Anatomie d’une brèche

Ce n’est pas une simple erreur de sécurité. CVE-2026-27822, désormais tristement célèbre parmi les administrateurs de stockage cloud, exploitait une négligence subtile mais catastrophique dans la fonction d’aperçu de fichiers de RustFS Console. La console, interface de gestion du système de stockage compatible S3 de RustFS, permettait aux utilisateurs de prévisualiser des fichiers via une balise <iframe> - mais sans vérifier strictement le type de contenu. Cela signifiait qu’un attaquant pouvait téléverser un fichier nommé xss.pdf, le déclarer comme text/html, et faire passer du JavaScript malveillant par la grande porte.

Le vrai problème ? RustFS hébergeait à la fois sa console de gestion et son API S3 sur la même origine (même IP et port). Cela signifiait qu’une fois le script malveillant exécuté dans l’<iframe> d’aperçu, il n’était pas isolé. Au contraire, il pouvait librement accéder à des informations sensibles comme AccessKey, SecretKey et SessionToken depuis le localStorage du navigateur, et les envoyer directement au serveur de l’attaquant.

La preuve de concept était glaçante de simplicité : une charge utile qui affichait une alerte et vidait les données localStorage de l’administrateur. En quelques secondes, l’attaquant disposait de tout ce qu’il fallait pour usurper l’identité de l’administrateur, supprimer des données, siphonner des fichiers ou installer des portes dérobées pour de futures attaques. Ce n’était pas qu’un exploit théorique - c’était un mode d’emploi pour une compromission totale.

Pourquoi cela s’est-il produit ?

Deux problèmes majeurs se sont combinés : une validation insuffisante des types de contenu des fichiers, et l’absence de séparation entre les domaines de gestion et de données. Sans une politique de même origine stricte, les scripts d’un fichier « de confiance » pouvaient agir comme s’ils faisaient partie intégrante de la console. Pour aggraver le risque, RustFS stockait les identifiants directement dans le localStorage, une cible de choix pour tout script capable de franchir les défenses du navigateur.

Les conséquences - et la correction

RustFS a réagi avec un correctif dans la version 1.0.0-alpha.83, comblant la faille immédiate. Mais les experts avertissent que la vraie leçon est architecturale : ne mélangez jamais vos domaines de gestion et de données, et appliquez toujours des en-têtes de sécurité comme Content-Security-Policy et X-Content-Type-Options. Pour les administrateurs, le message est clair - appliquez le correctif sans attendre, et repensez la séparation entre interfaces sensibles et données fournies par les utilisateurs.

Réflexion sur les risques

Cet incident est un exemple parfait de la façon dont la commodité peut se heurter à un risque catastrophique. À mesure que les systèmes cloud deviennent plus complexes, même une petite négligence - comme faire confiance à un aperçu de fichier - peut avoir des conséquences bien au-delà d’un simple compte administrateur. Dans le monde de la cybercriminalité, le chemin entre « juste un PDF » et « prise de contrôle totale » peut être terriblement court.

WIKICROOK

  • XSS stockée : La XSS stockée est une vulnérabilité web persistante où des scripts malveillants sont enregistrés sur un serveur et exécutés pour chaque utilisateur visitant la page compromise.
  • Same : La politique de même origine est une règle de sécurité des navigateurs qui empêche les scripts d’un site d’accéder aux données d’un autre, protégeant ainsi les informations des utilisateurs.
  • localStorage : localStorage est une fonctionnalité du navigateur permettant de stocker des données localement sur un appareil, accessible aux scripts du même site, et persistante entre les sessions.
  • Contenu : Le contenu, en cybersécurité, désigne les données contenues dans des fichiers ou des communications, comme du texte ou des images, qui peuvent être ciblées par des menaces ou nécessiter une protection.
  • Contenu : Le contenu, en cybersécurité, désigne les données contenues dans des fichiers ou des communications, comme du texte ou des images, qui peuvent être ciblées par des menaces ou nécessiter une protection.
RustFS XSS vulnerability cloud security

SECPULSE SECPULSE
SOC Detection Lead
← Back to news