CVE-2026-7693 json
Backup Migration <= 2.1.5.1 - Authenticated (Administrator+) OS Command Injection via 'file' Parameter
published 2026-08-05 3 mo ago modified 2026-08-12 2 mo ago also EUVD-2026-53182
- cvss
- 7.2
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 3.0%
- EPSS 3.0% chance of exploitation in 30 days, percentile 87%
- public exploits
- 0
- none known
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`.
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 3 mo ago
Exploit prediction
2.95% chance of exploitation in the next 30 days, higher than 87% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.2 | CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H |
Affected products
- inisev Backup Migration
Classification
- Weakness
-
- CWE-77 Improper Neutralization of Special Elements used in a Command
- Technology feeds
References
- wordfence.com /threat-intel/vulnerabilities/id/af6a7052-6dab-42f0-a2af-0cf459d309d7?source=cve
- plugins.trac.wordpress.org /browser/backup-backup/trunk/includes/ajax.php#L3025
- plugins.trac.wordpress.org /browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3025
- plugins.trac.wordpress.org /browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3019
- plugins.trac.wordpress.org /browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3422
- plugins.trac.wordpress.org /browser/backup-backup/tags/2.1.5.1/includes/ajax.php#L3444
- plugins.trac.wordpress.org /browser/backup-backup/tags/2.1.5.1/includes/initializer.php#L136
- plugins.trac.wordpress.org /changeset?new=3540041%40backup-backup%2Ftags%2F2.1.5.2&old=3512153%40backup-backup%2Ftags%2F2.1.5.1
Sources
- CVE List CVE-2026-7693
- NVD CVE-2026-7693
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.