
| Campo | Detalles |
|---|---|
| ID de CVE | CVE-2026-48030 |
| Producto | pheditor |
| Proveedor | Hamid Samak |
| Versiones afectadas | 2.0.1, 2.0.2, 2.0.3 |
| Versión parcheada | 2.0.4 |
| Severidad | Crítica |
| Puntuación CVSS | 9.9 |
| Vector CVSS | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-78 (Inyección de comandos del sistema operativo) |
| Descubierto por | Muslimbek Burxonov |
Existe una vulnerabilidad crítica de inyección de comandos del sistema operativo en el manejador de la acción de terminal de pheditor.php. El parámetro POST dir se concatena directamente en shell_exec() sin saneamiento, lo que permite a un atacante autenticado eludir la lista blanca TERMINAL_COMMANDS y ejecutar comandos arbitrarios del sistema operativo.
pheditor.php, línea 586:
$command = $_POST['command']; // ✓ metacharacters checked
$dir = $_POST['dir']; // ✗ NOT checked — vulnerable
// Check applies to $command only, NOT $dir
if (strpos($command, '&') !== false ||
strpos($command, ';') !== false ||
strpos($command, '||') !== false) {
die(...);
}
// $dir injected unsanitized into shell_exec
$output = shell_exec(
(empty($dir) ? null : 'cd ' . $dir . ' && ')
. $command . ' && echo \ ; pwd'
);
python3 poc.py --target http://TARGET/pheditor.php --password admin
Consulta poc.py para ver el script completo de PoC.
pheditor.php, línea 586 — reemplazar:
// BEFORE (vulnerable)
'cd ' . $dir
// AFTER (patched)
'cd ' . escapeshellarg($dir)
Este PoC se proporciona únicamente con fines educativos y de investigación. Úsalo solo en sistemas en los que tengas permiso explícito para realizar pruebas.