Une vulnérabilité de React menace des millions de téléchargements

Une faille critique de React Native expose des millions de développeurs à des attaques par exécution de code à distance.

Écrit par
Ken Underhill
Ken Underhill
Nov 5, 2025
3 minute read
eSecurity Planet Le contenu et les recommandations de produits sont indépendants de la rédaction. Nous pouvons gagner de l'argent lorsque vous cliquez sur des liens vers nos partenaires. En savoir plus

Des chercheurs en sécurité de JFrog ont révélé une grave vulnérabilité dans React Native, qui pourrait exposer des millions de développeurs à des attaques par exécution de code à distance (RCE). 

La faille affiche un score CVSS de 9,8 et affecte le package @react-native-community/cli, très populaire, qui enregistre plus de deux millions de téléchargements par semaine.

La vulnérabilité de React

La vulnérabilité (CVE-2025-11953) permet à des attaquants non authentifiés d’exécuter des commandes arbitraires du système d’exploitation sur les machines exécutant le serveur de développement de React Native, appelé Metro. 

Comme le serveur peut être accessible même lorsqu’il est hébergé localement, son exploitation peut compromettre des environnements de développement partout dans le monde.

Le problème vient d’une gestion non sécurisée des entrées fournies par l’utilisateur au sein du point de terminaison /open-url du CLI. 

Ce point de terminaison transmet des données non filtrées directement à la fonction open() du package open npm, ce qui permet aux attaquants d’exécuter des commandes shell sur les systèmes concernés. 

Bien que la vulnérabilité soit particulièrement facile à exploiter sous Windows, elle pourrait également toucher, en théorie, les systèmes macOS et Linux.

La faille affecte les versions 4.8.0 à 20.0.0-alpha.2, et Meta a publié un correctif.

Les développeurs peuvent vérifier les dépendances de leur projet en exécutant npm list @react-native-community/cli-server-api ou la version globale avec npm list -g @react-native-community/cli-server-api.

Fonctionnement de l’exploit

L’analyse technique de JFrog a révélé qu’un attaquant pouvait envoyer une requête POST spécialement conçue au point de terminaison /open-url du serveur de développement vulnérable. 

Comme le serveur transmet directement les entrées utilisateur au shell système sans les nettoyer, cela peut entraîner l’exécution de commandes arbitraires.

Par exemple, sous Windows, un attaquant pourrait exécuter une commande de test inoffensive, comme lancer la Calculatrice (calc.exe) ou une commande plus dangereuse pour manipuler des fichiers système. 

Advertisement

Lors de démonstrations contrôlées, les chercheurs de JFrog ont réussi à exécuter des commandes créant de nouveaux fichiers sur le système hôte, démontrant ainsi une capacité complète d’exécution de code à distance.

Le risque est accru par une faille de configuration secondaire dans le code source principal de React Native.

Le serveur de développement se lie à toutes les interfaces réseau (0.0.0.0), plutôt qu’au seul hôte local. 

Comme l’ont déclaré les chercheurs de JFrog : « Si host est omis, le serveur accepte les connexions sur l’adresse IPv6 non spécifiée (::) lorsque l’IPv6 est disponible, ou sur l’adresse IPv4 non spécifiée (0.0.0.0) dans le cas contraire. Dans la plupart des systèmes d’exploitation, l’écoute sur l’adresse IPv6 non spécifiée (::) peut également amener net.Server à écouter sur l’adresse IPv4 non spécifiée (0.0.0.0). »

Cette configuration par défaut expose involontairement les serveurs de développement locaux à des accès réseau externes, ce qui élargit la surface d’attaque.

Comment se protéger

Il est vivement conseillé aux développeurs de mettre à jour le package @react-native-community/cli-server-api vers la version 20.0.0 ou ultérieure, qui inclut le correctif officiel. Cette mise à jour corrige effectivement la vulnérabilité d’exécution de code à distance.

Pour les équipes qui ne peuvent pas effectuer immédiatement la mise à niveau, JFrog recommande une mesure d’atténuation temporaire — lier explicitement le serveur de développement à l’hôte local en le démarrant avec la commande npx react-native start –host 127.0.0.1.

Cela limite l’accès externe au serveur de développement Metro et réduit l’exposition aux attaques réseau.

Il convient également d’appliquer des pratiques de développement sécurisé, d’effectuer régulièrement des audits des dépendances et d’utiliser des outils automatisés d’analyse de sécurité afin d’identifier rapidement les bibliothèques tierces vulnérables au cours du cycle de développement.

Advertisement

Les attaques visant la chaîne d’approvisionnement en hausse

La divulgation de CVE-2025-11953 met en évidence un défi persistant du développement logiciel moderne : les risques de sécurité inhérents aux dépendances tierces. 

Même des frameworks open source de confiance comme React Native peuvent être compromis par des failles dans des composants gérés par des tiers.

Cet incident illustre également la sophistication croissante des chaînes d’approvisionnement logicielles attaques, dans lesquelles les adversaires ciblent de plus en plus les outils et environnements de développement plutôt que les systèmes de production. 

Ken Underhill

Ken Underhill is an award-winning cybersecurity professional, bestselling author, and seasoned IT professional. He holds a graduate degree in cybersecurity and information assurance from Western Governors University and brings years of hands-on experience to the field.

eSecurity Planet Logo

eSecurity Planet is a leading resource for IT professionals at large enterprises who are actively researching cybersecurity vendors and latest trends. eSecurity Planet focuses on providing instruction for how to approach common security challenges, as well as informational deep-dives about advanced cybersecurity topics.

Propriété de TechnologyAdvice. © 2026 TechnologyAdvice. Tous droits réservés

Divulgation publicitaire : Certains des produits qui apparaissent sur ce site proviennent d'entreprises dont TechnologyAdvice reçoit une compensation. Cette compensation peut influencer la façon dont les produits apparaissent sur ce site, notamment l'ordre dans lequel ils apparaissent. TechnologyAdvice n'inclut pas toutes les entreprises ou tous les types de produits disponibles sur le marché.