
Extension Firefox pour détecter et exploiter CVE-2025-55182 — Prototype Pollution RCE dans Next.js React Server Actions
Une extension Firefox pour détecter et exploiter CVE-2025-55182
Vulnérabilité de pollution de prototype dans les actions de serveur React
Fonctionnalités • Installation • Utilisation • Avertissement
Cet outil est destiné uniquement aux tests de sécurité autorisés. L'accès non autorisé à des systèmes informatiques est illégal. N'utilisez cet outil que sur des systèmes dont vous êtes propriétaire ou pour lesquels vous avez une autorisation écrite explicite de test. L'auteur n'est pas responsable de toute utilisation abusive de cet outil.
R2SAE (React2Shell Auto-Exploit) est une extension de navigateur Firefox qui automatise la détection et l'exploitation de CVE-2025-55182 - une vulnérabilité critique de pollution de prototype dans les actions de serveur React de Next.js pouvant conduire à une exécution de code à distance (RCE).
La vulnérabilité réside dans la façon dont Next.js gère les données de formulaire multipart dans les actions serveur, permettant aux attaquants de polluer les prototypes d'objets et d'obtenir une exécution de code arbitraire sur le serveur.
.xpi signé depuis Releases.xpi dans la fenêtre du navigateurabout:debuggingmanifest.json)whoami, id, cat /etc/passwd)Affecté : Applications Next.js utilisant les actions de serveur React avec des données de formulaire multipart
Cause racine : Une validation d'entrée insuffisante dans l'analyseur de données de formulaire permet la pollution de prototype via des noms de champ de formulaire spécialement conçus
Impact : Exécution de code à distance (RCE) sur le serveur
X-Action-RedirectwebRequest et décode la sortie------WebKitFormBoundaryx8jO2oVc6SWP3Sad
Content-Disposition: form-data; name="0"
{"then":"$1:__proto__:then","status":"resolved_model",...}
------WebKitFormBoundaryx8jO2oVc6SWP3Sad--
extension/
├── manifest.json # Extension configuration
├── background.js # Exploit logic & webRequest handlers
├── popup.html # Extension popup UI
├── popup.css # Styles
├── popup.js # UI logic & event handlers
└── icons/
├── icon-48.png
└── icon-96.png
L'extension nécessite ces permissions :
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une demande de tirage (Pull Request).
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
⚠️ À utiliser de manière responsable. Pour les tests de sécurité autorisés uniquement. ⚠️
| Permission | Objectif |
|---|
<all_urls> | Envoyer des charges utiles d'exploitation à n'importe quelle cible |
webRequest | Capturer les en-têtes de réponse pour la sortie |
webRequestBlocking | Modifier les en-têtes de requête (contournement CORS) |
storage | Sauvegarder les paramètres localement |
clipboardWrite | Copier la sortie dans le presse-papiers |
activeTab | Détecter l'URL de l'onglet actif |
tabs | Accéder aux informations des onglets |