WPvivid export task IDs permit Administrator SQL injection
WPvivid through 0.9.131 accepts export_data JSON object keys in prepare_export_post(), stores them as post IDs without integer casting, then joins them into an unquoted WHERE ID IN clause in export_post_to_xml(). An Administrator can inject SQL through those keys and extract database information.
- Component
- WPvivid — Backup, Migration & Staging
- Plugin slug
wpvivid-backuprestore- Affected
- <= 0.9.131
- Safe version
> 0.9.131- Published
- Aug 01, 2026
This CVE was published Aug 01, 2026 and is one of 13 known issues for this plugin.
Update, patch or deactivate.
Update to a corrected release after 0.9.131. Review export tasks and database logs for nonnumeric post IDs or SQL syntax, and rotate credentials if disclosure is suspected.
A safe version is available, so updating to that version or later is the preferred remediation. If an immediate update is not practical, consider a targeted application patch or temporarily restricting the affected functionality.
Deactivate only when warranted by your risk profile, or when advised by your hosting provider in the limited circumstances where the vulnerability cannot otherwise be mitigated. If you’re unsure which action is appropriate, contact Fused or your hosting provider for guidance.
Technical description
The WPvivid Backup & Migration plugin for WordPress is vulnerable to SQL Injection via the export_data parameter in versions up to, and including, 0.9.131. This is due to insufficient escaping on the user supplied parameter and lack of sufficient preparation on the existing SQL query. The values are received in prepare_export_post(), passed through sanitize_text_field() and stripslashes(), JSON-decoded, and the attacker-controlled JSON object keys are collected as $posts_ids without integer casting. They are stored in the export task options and later joined with commas and interpolated directly into a `WHERE ID IN (...)` clause inside a $wpdb->get_results() call in export_post_to_xml() (unquoted, numeric context), with no $wpdb->prepare() or esc_sql(). This makes it possible for authenticated attackers, with Administrator-level access and above, to append additional SQL queries into already existing queries that can be used to extract sensitive information from the database.
CVE / CNA vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N