---
id: CVE-2026-17555
title: >-
  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
summary: >-
  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 s…
severity: medium
cvss: 4.9
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:N/A:N'
cwe:
  - CWE-89
published: '2026-08-01'
updated: '2026-08-01'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-17555'
references:
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpvivid-backuprestore/tags/0.9.131/includes/class-wpvivid-export-import.php#L1129
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpvivid-backuprestore/tags/0.9.131/includes/class-wpvivid-exporter.php#L1398
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/browser/wpvivid-backuprestore/tags/0.9.131/includes/class-wpvivid-exporter.php#L1409
    label: security@wordfence.com
  - url: >-
      https://plugins.trac.wordpress.org/changeset?reponame=&old=3627791%40wpvivid-backuprestore&new=3627791%40wpvivid-backuprestore
    label: security@wordfence.com
  - url: >-
      https://www.wordfence.com/threat-intel/vulnerabilities/id/7130f325-a0c4-479d-ac85-94542bdb5a79?source=cve
    label: security@wordfence.com
tags:
  - nvd
epss: 0.00442
epssPercentile: 0.35793
ingestedAt: '2026-08-02T05:17:48.466Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
