
| Feld | Details |
|---|---|
| CVE-ID | CVE-2026-48030 |
| Produkt | pheditor |
| Anbieter | Hamid Samak |
| Betroffene Versionen | 2.0.1, 2.0.2, 2.0.3 |
| Behobene Version | 2.0.4 |
| Schweregrad | Critical |
| CVSS-Score | 9.9 |
| CVSS-Vektor | CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H |
| CWE | CWE-78 (OS-Befehlsinjektion) |
| Entdeckt von | Muslimbek Burxonov |
Eine kritische Schwachstelle zur OS-Befehlsinjektion existiert im Terminal-Action-Handler von pheditor.php. Der dir-POST-Parameter wird ohne Bereinigung direkt in shell_exec() eingefügt, wodurch ein authentifizierter Angreifer die TERMINAL_COMMANDS-Whitelist umgehen und beliebige Betriebssystembefehle ausführen kann.
pheditor.php, Zeile 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
Siehe poc.py für das vollständige PoC-Skript.
pheditor.php, Zeile 586 — ersetzen:
// BEFORE (vulnerable)
'cd ' . $dir
// AFTER (patched)
'cd ' . escapeshellarg($dir)
Dieses PoC dient ausschließlich Bildungs- und Forschungszwecken. Verwenden Sie es nur auf Systemen, für deren Test Sie eine ausdrückliche Genehmigung haben.