
Reprodução de CVE: cve-2024-0012_9474-panos_authbypass_reproduction
| CVE | Descrição | CVSS |
|---|---|---|
| CVE-2024-0012 | Bypass de autenticação na interface de gerenciamento do PAN-OS | 9.3 |
| CVE-2024-9474 | Escalação de privilégios no PAN-OS | 6.9 |
Quando encadeadas, essas vulnerabilidades permitem execução remota de código sem autenticação na interface web de gerenciamento do PAN-OS.
Ambas foram ativamente exploradas como zero-days na natureza, no que foi rastreado como Operação Lunar Peek. A pesquisa foi inicialmente divulgada pela watchTowr.
A interface web de gerenciamento do PAN-OS da Palo Alto Networks está exposta a duas falhas críticas que, quando combinadas, concedem a um atacante acesso total em nível de root sem qualquer autenticação:
A interface web de gerenciamento valida incorretamente a autenticação para determinados endpoints de API e PHP. Ao manipular caminhos de requisições HTTP (por exemplo, técnicas de path traversal ou barra dupla), um atacante pode alcançar manipuladores restritos que normalmente exigem uma sessão válida. Isso efetivamente concede acesso não autenticado à PHPRESTAPI e a outros endpoints internos.
A causa raiz está nas regras de roteamento do Nginx/Apache, que não aplicam verificações de sessão em padrões de URI específicos, permitindo que requisições contornem o middleware de autenticação.
Uma vez autenticado (mesmo como usuário somente leitura ou de baixo privilégio), a vulnerabilidade existe no mecanismo de serialização de sessão PHP. O session.save_path está mal configurado, e o nome do arquivo de sessão é parcialmente controlado pelo usuário. Ao criar um ID de sessão contendo sequências de path traversal, um atacante pode gravar um arquivo de sessão PHP em um local arbitrário (ex.: ../utils/webshell.php).
Como o servidor web é executado como root, o arquivo gravado herda a propriedade de root, dando ao atacante um webshell em nível de root.
Attacker (unauthenticated)
│
├─ CVE-2024-0012 ─────────────────────────────┐
│ Bypass auth via crafted URI │
│ → Gain access to PHPRESTAPI endpoint │
│ → Create a low-privilege API key / session │
└──────────────────────────────────────────────┘
│
├─ CVE-2024-9474 ─────────────────────────────┐
│ Use obtained session/key │
│ → Send crafted PHP session ID (path traversal)│
│ → Write session file to webroot │
│ → File contains PHP code (webshell) │
└──────────────────────────────────────────────┘
│
▼
RCE as root via webshell
X-PAN- ou baseado em cookie contendo travessia ../ para gravar um payload PHP no diretório php/ acessível pela web./php/<shell>.php para executar comandos arbitrários como root.Consulte exploit.py neste diretório para uma prova de conceito funcional que encadeia ambos os CVEs.
| Versão do PAN-OS | Afetada | Corrigida em |
|---|
| 10.2 | < 10.2.12-h2 | 10.2.12-h2 |
| 11.0 | < 11.0.6-h1 | 11.0.6-h1 |
| 11.1 | < 11.1.5-h1 | 11.1.5-h1 |
| 11.2 | < 11.2.4-h1 | 11.2.4-h1 |
| 11.3 | Não afetada | — |
| Cloud NGFW | Não afetada | — |