Sécurité et confidentialité

Une faille dans Rejetto HFS permet la prise de contrôle administrateur via des nombres aléatoires faibles

Des attaquants exploitent la CVE-2026-61500 dans Rejetto HTTP File Server pour forger des sessions administrateur et exécuter du code. Le bug provient d'un générateur de nombres pseudo-aléatoires prévisible.

Un cadenas en verre avec des engrenages binaires sur un rack de serveurs, symbolisant un mécanisme de sécurité défaillant.
Illustration générée pour cet article

Traduit automatiquement depuis l'original anglais.

Des tentatives d'exploitation active ont été détectées contre une vulnérabilité critique dans Rejetto HTTP File Server (HFS), un outil populaire de partage de fichiers auto-hébergé. La société de sécurité VulnCheck a signalé que les acteurs malveillants ciblent cette faille, identifiée sous le nom de CVE-2026-61500, qui permet à des attaquants distants de prendre le contrôle administratif et d'exécuter du code arbitraire sur les systèmes vulnérables.

Ce qui s'est passé

La vulnérabilité affecte les versions 3.0.0 à 3.2.0 de Rejetto HFS. Elle porte un score CVSS de 9,3, indiquant un niveau de sévérité critique. Le problème fondamental réside dans la manière dont l'application génère les clés de signature des cookies de session. Au lieu d'utiliser une méthode cryptographiquement sûre, le logiciel repose sur la fonction standard Math.random() de JavaScript. Ce générateur de nombres pseudo-aléatoires (PRNG) non cryptographique produit des sorties prévisibles qui peuvent être rétroconçues par un attaquant.

Lors du processus de connexion, le serveur divulgue les sorties de ce même PRNG aux clients non authentifiés. En collectant un petit nombre de ces réponses de connexion, un attaquant peut reconstruire l'état interne du générateur. Une fois l'état connu, il peut prédire la clé de signature du cookie de session. Avec cette clé, l'attaquant forge un cookie de session administrateur valide, contournant entièrement l'authentification. Cela lui accorde un accès administratif complet au serveur.

Le danger s'aggrave car l'API administrative de Rejetto HFS inclut une fonctionnalité appelée server_code. Cette fonctionnalité permet aux administrateurs de définir des points de terminaison personnalisés qui exécutent du JavaScript arbitraire sur le serveur. Par conséquent, une fois qu'un attaquant obtient des privilèges administrateur via la session forgée, il peut utiliser cette fonctionnalité pour réaliser une exécution de code à distance (RCE). Cela crée un chemin direct depuis un accès réseau non authentifié jusqu'à la compromission complète du système.

Un correctif pour cette vulnérabilité a été publié en juillet 2026 avec la version 3.2.1. Cependant, la sensibilisation publique et la disponibilité des exploits ont pris du retard par rapport au correctif. Fin septembre 2026, le chercheur en sécurité Alejandro Ramos (connu sous le nom d'aramosf) a publié un exploit de preuve de concept (PoC) basé sur Python. Peu après, le 30 septembre 2026, Zach Hanley, chercheur chez Horizon3.ai, a publié des détails notant que le modèle Mythos d'Anthropic avait aidé à découvrir la faille. Les tentatives d'exploitation ont été détectées pour la première fois par VulnCheck le 1er octobre 2026, ciblant des hôtes aux États-Unis et au Japon.

Comment cela fonctionne

Le mécanisme repose sur la nature déterministe des PRNG standards comme Math.random(). Bien que ces générateurs semblent aléatoires pour les tâches de programmation générales, ils ne sont pas conçus pour la sécurité. Ils fonctionnent sur la base d'une valeur initiale (seed) et d'un algorithme mathématique. Si un observateur peut voir suffisamment de sorties du générateur, il peut déduire l'état actuel de l'algorithme.

Dans Rejetto HFS, le serveur utilise ce générateur faible pour créer la clé secrète qui signe les cookies de session. Crucialement, le serveur divulgue également des sorties de la même instance du générateur lors de la poignée de main de connexion SRP (Secure Remote Password). Un attaquant n'a pas besoin de deviner la clé directement. Au lieu de cela, il capture les sorties PRNG divulguées lors d'une tentative de connexion légitime. À l'aide de ces échantillons, il reconstruit l'état interne du PRNG. De là, il peut prédire chaque sortie future, y compris la valeur spécifique utilisée pour signer le cookie de session administrateur. Cela lui permet de fabriquer un cookie que le serveur accepte comme valide, lui accordant des droits administrateur sans connaître aucun mot de passe.

Détails clés

  • ID de vulnérabilité : CVE-2026-61500 avec un score CVSS de 9,3.
  • Versions affectées : Rejetto HFS 3.0.0 à 3.2.0.
  • Cause racine : Utilisation de Math.random() non cryptographique pour la génération de clés de session et fuite de l'état du PRNG lors de la connexion.
  • Impact : Forgery de session conduisant à un accès administratif complet et à une exécution de code à distance via la fonctionnalité server_code.
  • Statut du correctif : Corrigé dans la version 3.2.1, publiée en juillet 2026.
  • Disponibilité de l'exploit : PoC public basé sur Python publié fin septembre 2026 par Alejandro Ramos.

Pourquoi c'est important

Pour les développeurs et les responsables informatiques gérant des infrastructures auto-hébergées, cet incident met en évidence un piège courant mais dangereux : l'utilisation de fonctions de bibliothèque standard pour des opérations critiques en matière de sécurité. Math.random() est omniprésent dans le développement JavaScript pour des tâches telles que la génération d'éléments d'interface utilisateur ou de mécaniques de jeu. Cependant, son caractère prévisible le rend fatal pour la cryptographie. Ce cas sert de rappel sévère que les limites de sécurité doivent être tracées avec soin, en particulier dans les applications qui exposent des interfaces administratives au réseau.

Le délai entre la publication du correctif en juillet et l'exploitation active en octobre illustre le risque des « correctifs silencieux ». De nombreuses organisations ont peut-être mis à jour leur logiciel si elles suivaient attentivement les journaux des modifications du fournisseur, mais d'autres sont probablement restées vulnérables car la gravité n'a été largement médiatisée qu'à l'émergence du PoC. L'implication de modèles d'IA dans la découverte de la faille suggère également que les outils d'audit automatisés deviennent plus sophistiqués, pouvant potentiellement trouver des utilisations similaires de PRNG faibles dans d'autres projets open source.

De plus, il s'agit de la deuxième vulnérabilité majeure exploitée récemment dans Rejetto HFS. En juillet 2024, la CVE-2024-23692 a été armée pour livrer des malwares comme HATVIBE et des mineurs de cryptomonnaies. La récurrence des exploitations actives contre ce logiciel indique qu'il constitue une cible de haute valeur pour les acteurs malveillants. Les équipes utilisant HFS doivent le traiter comme un composant à haut risque et assurer une isolation stricte ou un patching immédiat.

Ce que vous pouvez faire

  • Mettre à niveau immédiatement : Si vous exécutez Rejetto HFS, mettez à jour vers la version 3.2.1 ou ultérieure. Cette version remplace le PRNG faible par une alternative sécurisée.
  • Auditer les dépendances : Vérifiez les autres services basés sur JavaScript pour détecter les utilisations de Math.random() dans des contextes de sécurité, tels que la génération de jetons ou la signature de sessions. Remplacez-les par crypto.getRandomValues() ou des API sécurisées équivalentes.
  • Restreindre l'accès réseau : Limitez l'exposition de l'interface administrative de HFS. Utilisez des pare-feu ou des proxys inverses pour autoriser l'accès uniquement depuis des adresses IP fiables ou des réseaux internes.
  • Surveiller les journaux : Recherchez des motifs de connexion inhabituels ou des tentatives d'authentification échouées provenant d'IP inconnues. VulnCheck a noté une activité de reconnaissance provenant d'IP spécifiques de China Telecom ; surveillez les anomalies similaires.
  • Désactiver server_code : Si votre flux de travail ne nécessite pas de points de terminaison JavaScript personnalisés, désactivez la fonctionnalité de configuration server_code pour réduire l'impact d'une éventuelle compromission de compte administrateur.
  • Examiner les incidents passés : Puisque la CVE-2024-23692 a également été activement exploitée, vérifiez que vos systèmes ont été corrigés pour cette faille antérieure afin de prévenir les vulnérabilités composées.

Outils de la Boutique Bytechap

Continuer la lecture

Tous les articles