CVE-2025-48201:
The Backup Plus extension for TYPO3 (ns_backup) has a Predictable Resource Location
8.6
Basic Information
Technical Details
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
nitsan/ns-backup | composer | < 13.0.1 | 13.0.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability (CVE-2025-48201) in ns_backup allows unauthenticated users to download backups and configuration files due to predictable resource locations. The provided commit 67b8102a19e8e516dc4228f5c42f9e4fba5046cb
patches this vulnerability.
My analysis focused on identifying the functions whose original logic led to the creation of these predictable paths.
NITSAN\NsBackup\Controller\BackupBaseController::generateBackup
: This function is central to the backup creation process. The diff shows significant changes in how it determines storage paths (localStoragePath
,jsonFolder
) and, crucially, how it names JSON configuration files and log files. Previously, these paths and names were hardcoded or derived from predictable inputs (like backup type and timestamp) without randomization. The patch introduces a random string (substr(md5(uniqid(mt_rand(), true)), 0, 8)
) for JSON and log file names, and makes the base storage path more configurable and checked viaisPathPublic
.NITSAN\NsBackup\Controller\BackupBaseController::getPhpbuBackup
: This helper function, called bygenerateBackup
, is responsible for generating the actual backup filenames (e.g., for SQL dumps, tar archives). The diff shows that filenames like$this->backupFile
and$this->backupDownloadPath
were previously constructed using the direct backup type and a formatted timestamp (e.g.,backupType-YYYYMMDD-HHMM.ext.compression
). The patch changes this to usemd5($backupType)
in the filename, significantly reducing predictability.
These two functions were directly responsible for creating the files in predictable locations with predictable names, which is the essence of the 'Predictable Resource Location' vulnerability. Other changes in the patch, such as input validation in other controllers or UI changes for download links, are mitigations or hardening measures built upon the core fix of making the paths non-predictable at the source of their creation.