
CVE-2025-9345
Schwachstellentyp: Path Traversal (Beliebiger Dateidownload)
Betroffene Funktion: ajax_downloadfile()
Auswirkung: Authentifizierte Benutzer mit niedrigen Privilegien (Abonnent+) können beliebige Dateien vom Server herunterladen, einschließlich sensibler Konfigurationsdateien, indem sie die unzureichende Validierung des Parameters flm_file ausnutzen.
CVSS v3.1-Wertung: 6,5 (Mittel)
Vektor: AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Der Parameter flm_file der GET-Anfrage wird direkt mit dem Pfad des Backup-Verzeichnisses verkettet, ohne ausreichende Bereinigung. Die aktuelle Bereinigungsfunktion Flmbkp_Form_Helper::sanitizeInput_html() verhindert keine Sequenzen wie ../, sodass ein Angreifer Verzeichnisse außerhalb des vorgesehenen Backup-Ordners traversieren kann.
// modules\filemanager\controllers\backups.php
public function ajax_downloadfile()
{
check_ajax_referer('flmbkp_ajax_nonce', 'flmbkp_security');
@set_time_limit(900);
$flm_file = (isset($_GET['flm_file'])) ? Flmbkp_Form_Helper::sanitizeInput_html($_GET['flm_file']) : '';
$backup_directory=Flmbkp_Form_Helper::backup_directory();
$fullpath = $backup_directory.'/'.$flm_file;
header("Content-Length: ".filesize($fullpath));
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"".basename($fullpath)."\";");
readfile($fullpath);
exit;
}




flm_file, um eine Path-Traversal-Nutzlast einzuschleusen, die auf eine sensible Datei abzielt.
Offenlegung sensibler Systemdateien.
Offenlegung von Anmeldedaten, die in Dateien wie wp-config.php, .env oder Anwendungsprotokollen gespeichert sind.
Ermöglicht weitere Angriffe, einschließlich vollständiger Systemkompromittierung.
Verwenden Sie realpath(), um den absoluten Pfad der angeforderten Datei aufzulösen und sicherzustellen, dass er sich innerhalb des Backup-Verzeichnisses befindet.
Lehnen Sie Anfragen ab, die ../, %00 oder andere traversierungsrelevante Sequenzen enthalten, bevor auf die Datei zugegriffen wird.
Erzwingen Sie strenge Berechtigungsprüfungen (z. B. nur Benutzer mit manage_options können Backups herunterladen).
Bereinigen und validieren Sie den Dateinamen anhand einer Whitelist erlaubter Dateien.
Falls Sie das Problem nicht genau wie im Bericht beschrieben reproduzieren können, sehen Sie sich bitte die folgende Videodemonstration (PoC) für ein klares Reproduktionsszenario an: