Backup Migration <= 2.1.5.1 - Authenticated (Administrator+) OS Command Injection via 'file' Parameter
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- No fix listed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-77.
Summary
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 `esc_attr()` — an HTML-context sanitizer that does not strip shell metacharacters — and concatenates the result, unquoted, into a `php-cli -f … bmi_restore <file> <remote>` command passed to `exec()`. This makes it possible for authenticated attackers, with Administrator-level access (or any user granted the plugin's `do_backups` capability) and above, to execute arbitrary OS commands as the web-server user, bypassing WordPress hardening constants such as `DISALLOW_FILE_EDIT` and `DISALLOW_FILE_MODS` 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`.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Total
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
No fixed version listed by the sources yet.
Timeline
- 2026-10-02 Threatist record created from CVE-2026-7693
- 2026-10-03 Alias added: GHSA-982q-x59v-3xjj
References
Other 8
- https://www.wordfence.com/threat-intel/vulnerabilities/id/af6a7052-6dab-42f0-a2af-0cf459d309d7?source=cve
- https://plugins.trac.wordpress.org/browser/backup-backup/trunk/includes/ajax.php#L3025
- https://plugins.trac.wordpress.org/browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3025
- https://plugins.trac.wordpress.org/browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3019
- https://plugins.trac.wordpress.org/browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3422
- https://plugins.trac.wordpress.org/browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3444
- https://plugins.trac.wordpress.org/browser/backup-backup/tags/2.1.5.1/includes/initializer.php#L136
- https://plugins.trac.wordpress.org/changeset?new=3540041%40backup-backup%2Ftags%2F2.1.5.2&old=3512153%40backup-backup%2Ftags%2F2.1.5.1
More inisev vulnerabilities
- TI-2023-06004 Backup Migration <= 1.3.7 - Unauthenticated Remote Code Execution CVSS 3.1CRITICAL 9.8
- TI-2024-00517 Enhanced Text Widget < 1.6.6 - Admin+ Stored XSS CVSS 3.1MEDIUM 6.5
- TI-2023-01258 Redirection < 1.1.5 - Plugin Reset via CSRF CVSS 3.1MEDIUM 6.5
- TI-2023-01257 Redirection < 1.1.4 - Redirect Creation via CSRF CVSS 3.1MEDIUM 6.5
- TI-2024-00519 Ultimate Posts Widget < 2.3.1 - Admin+ Stored XSS CVSS 3.1MEDIUM 5.4
- TI-2023-06399 Backup Migration <= 1.3.9 - Authenticated (Admin+) OS Command Injection via url CVSS 3.1HIGH 7.2
Sources
- CVE-2026-7693 · CVE Program
- CVE-2026-7693 · NVD
- FIRST EPSS
- GHSA-982q-x59v-3xjj · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences