CVE-2026-7693: Backup Migration <= 2.1.5.1 - Authenticated (Administrator+) OS Command Injection via 'file' Parameter
The Backup Migration plugin for WordPress is vulnerable to OS Command Injection in all versions up to, and including, 2.1.5.1 due to insufficient sanitization of the file POST parameter on the restoreBackup() AJAX handler. The handler applies escattr() — an HTML-context sanitizer that does not strip shell metacharacters — and concatenates the result, unquoted, into a php-cli -f … bmirestore <file> <remote> command passed to exec(). This makes it possible for authenticated attackers, with Administrator-level access (or any user granted the plugin's dobackups capability) and above, to execute arbitrary OS commands as the web-server user, bypassing WordPress hardening constants such as DISALLOWFILEEDIT and DISALLOWFILEMODS that would otherwise prevent code execution from the admin UI. This is an incomplete fix of CVE-2023-7002, which patched the same pattern only in the $POST['url'] path of handleQuickMigration(); the equivalent mitigations (rawurlencode() + explicit shell-metachar replacement + double-quoting in exec()) were never applied to $backupName.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
WordPress Backup Migration pluginto a version that resolves this vulnerability.Fixed in 2.1.5.1 - Compensating control
Restrict access to the Backup Migration plugin functionality/endpoint to only trusted Administrator users (Administrator+ or users granted the plugin's `do_backups` capability), since authenticated users can exploit `restoreBackup()` via the `file` POST parameter.