Quick Look: CVE-2023-54346 — WordPress Backup Migration Plugin Unauthenticated Database Backup Download

A brief summary of CVE-2023-54346, a high severity information disclosure vulnerability in the WordPress Backup Migration plugin that allows unauthenticated attackers to download full database backups via predictable file paths. Includes detection methods and affected version details.

CVE Analysis

6 min read

ZeroPath CVE Analysis
ZeroPath CVE Analysis

2026-05-05

Quick Look: CVE-2023-54346 — WordPress Backup Migration Plugin Unauthenticated Database Backup Download
Experimental AI-Generated Content

This CVE analysis is an experimental publication that is completely AI-generated. The content may contain errors or inaccuracies and is subject to change as more information becomes available. We are continuously refining our process.

If you have feedback, questions, or notice any errors, please reach out to us.

[email protected]

Introduction

A single unauthenticated HTTP request chain against the WordPress Backup Migration plugin can hand an attacker a complete copy of your site's database, including user credentials, session tokens, and every piece of stored content. With over 90,000 active installations, CVE-2023-54346 represents a significant exposure across the WordPress ecosystem.

The Backup Migration plugin, developed by BackupBliss, provides WordPress administrators with tools to create, schedule, and manage site backups. It is one of the more popular backup solutions in the WordPress plugin directory, and its broad adoption means that a vulnerability of this nature has a wide blast radius. The plugin's relevance extends beyond individual sites; managed hosting providers and agencies frequently deploy it across client portfolios.

Technical Information

CVE-2023-54346 is classified under CWE-538: Insertion of Sensitive Information into Externally Accessible File or Directory. The root cause is straightforward: the plugin stores its configuration files, operational logs, and backup archives in directories that are directly accessible over HTTP, with no authentication or authorization checks enforced at the web server or application level.

Specifically, the plugin writes a config.json file and a complete_logs.log file into the /wp-content/backup-migration/ directory. The config.json file contains the randomized directory name used for backup storage, along with the site administrator's email address. The complete_logs.log file records the exact filenames of created backup archives. The backup archives themselves are stored in a subdirectory following the pattern /wp-content/backup-migration-[random_string]/backups/.

While the directory name includes a random string component, this randomness provides no security because the configuration file that reveals it is itself publicly accessible. The entire security model collapses once an attacker reads config.json.

Attack Flow

The publicly documented exploit (EDB-51445) demonstrates a four step unauthenticated attack chain:

Step 1: Version Fingerprinting. The attacker sends a GET request to the plugin's readme.txt to confirm that a vulnerable version (1.2.8 or older) is installed.

Step 2: Configuration Exposure. The attacker requests the config.json file, which reveals the randomized backup storage directory name and the administrator's email address.

Step 3: Log Enumeration. The attacker requests the complete_logs.log file, which contains the exact filenames of all backup archives that have been created.

Step 4: Backup Exfiltration. Using the directory name from Step 2 and the archive filename from Step 3, the attacker constructs a direct download URL and retrieves the full database backup.

The request sequence looks like this:

GET /wp-content/plugins/backup-backup/readme.txt GET /wp-content/backup-migration/config.json GET /wp-content/backup-migration/complete_logs.log GET /wp-content/backup-migration-[random_string]/backups/BM_Backup_[date]_[time]_[random_string].zip

No authentication is required at any step. The entire chain can be automated trivially, and the resulting ZIP archive contains a full database dump. For a typical WordPress installation, this means user tables with hashed passwords, email addresses, post content, plugin configuration data, and potentially stored API keys or other secrets.

Detection Methods

Because the attack chain follows a very specific multi step HTTP request pattern, there are several practical ways to detect exploitation in progress or after the fact.

Web Server Access Log Analysis

The most effective detection approach centers on monitoring web server access logs (Apache, Nginx, or WAF logs) for unauthenticated HTTP GET requests to the following paths:

  • /wp-content/plugins/backup-backup/readme.txt (version fingerprinting)
  • /wp-content/backup-migration/config.json (configuration exposure)
  • /wp-content/backup-migration/complete_logs.log (log enumeration)
  • /wp-content/backup-migration-<random>/backups/<backup_filename>.zip (backup exfiltration)

A single request to any of these paths from an unauthenticated user is suspicious. The strong indicator of active exploitation is observing sequential requests from the same source IP hitting these endpoints in order, often within a short time window. Security teams should build log correlation rules or SIEM queries that flag this pattern.

Web Application Firewall (WAF) Monitoring

Configure WAF rules to block or alert on unauthenticated access to the /wp-content/backup-migration/ directory tree. Pay special attention to requests for .json, .log, and .zip files within that path hierarchy. HTTP 200 responses for these requests to unauthenticated users are strong indicators of a vulnerable configuration or active exploitation.

Network Level Indicators

Monitor for unusually large outbound HTTP responses from your WordPress server, particularly from paths containing backup-migration. A successful backup exfiltration produces a response containing a full ZIP archive of the database, which is significantly larger than typical web traffic. Anomaly detection on response sizes for requests to the wp-content directory can help catch this activity.

WordPress Level Detection

Verify whether the Backup Migration plugin is present at version 1.2.8 or below by checking the plugin's readme.txt file or the WordPress admin panel. If the vulnerable version is detected, immediately verify whether the config.json and complete_logs.log files are publicly accessible, which would confirm the exposure.

Reconnaissance Detection

The public exploit includes a Google dork for finding exposed instances, combining directory listing titles for /wp-content/plugins/backup-backup with corresponding URL patterns. Inbound traffic with Google referrer headers pointing to such searches may indicate that your site has been discovered through reconnaissance.

No dedicated Sigma rules, YARA rules, or IDS/Snort signatures specifically for CVE-2023-54346 were identified in verified public sources.

Affected Systems and Versions

The vulnerability affects the WordPress Backup Migration plugin in the following versions:

Plugin VersionStatus
1.2.8 and all older versionsVulnerable to CVE-2023-54346 (Information Disclosure)
1.2.9Patched for CVE-2023-54346
1.3.7Patched for CVE-2023-54346 but vulnerable to CVE-2023-6553 (Remote Code Execution)
1.3.8Patched for CVE-2023-6553
2.1.5.1Current stable release

Any WordPress installation running the Backup Migration plugin (slug: backup-backup) at version 1.2.8 or earlier is affected. The plugin is available through the official WordPress plugin directory and has over 90,000 active installations.

Vendor Security History

BackupBliss, the developer of the Backup Migration plugin, has a notable security track record. Following the information disclosure vulnerability in version 1.2.8, a separate critical vulnerability was discovered in version 1.3.7. That flaw, tracked as CVE-2023-6553, allowed unauthenticated remote code execution and carried a CVSS score of 9.8. Wordfence reported actively blocking attacks targeting that RCE vulnerability.

The presence of two high severity unauthenticated vulnerabilities discovered within a relatively short timeframe in the same plugin is a pattern worth noting. Organizations that rely on this plugin should maintain automated update policies and consider additional monitoring around the plugin's file paths.

References

Detect & fix
what others miss

Security magnifying glass visualization