CVE-2026-3577
Received Received - Intake
Stored XSS in Keep Backup Daily Plugin Allows Admin Script Injection

Publication date: 2026-03-21

Last updated on: 2026-03-21

Assigner: Wordfence

Description
The Keep Backup Daily plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the backup title alias (`val` parameter) in the `update_kbd_bkup_alias` AJAX action in all versions up to, and including, 2.1.2. This is due to insufficient input sanitization and output escaping. While `sanitize_text_field()` strips HTML tags on save, it does not encode double quotes. The backup titles are output in HTML attribute contexts without `esc_attr()`. This makes it possible for authenticated attackers, with Administrator-level access and above, to inject arbitrary web scripts via attribute injection that will execute whenever another administrator views the backup list page.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-21
Last Modified
2026-03-21
Generated
2026-05-27
AI Q&A
2026-03-21
EPSS Evaluated
2026-05-25
NVD
EUVD
Affected Vendors & Products
Showing 3 associated CPEs
Vendor Product Version / Range
keep_backup_daily plugin to 2.1.2 (inc)
wordfence keep_backup_daily to 2.1.2 (inc)
wordfence keep_backup_daily 2.1.3
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-79 The product does not neutralize or incorrectly neutralizes user-controllable input before it is placed in output that is used as a web page that is served to other users.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

The Keep Backup Daily plugin for WordPress has a Stored Cross-Site Scripting (XSS) vulnerability in all versions up to and including 2.1.2. This vulnerability occurs via the backup title alias, specifically the `val` parameter in the `update_kbd_bkup_alias` AJAX action. The issue arises because the plugin does not properly sanitize and escape input: while it uses `sanitize_text_field()` to strip HTML tags, it does not encode double quotes. Backup titles are then output in HTML attribute contexts without proper escaping (`esc_attr()`), allowing authenticated users with Administrator-level access or higher to inject malicious scripts. These scripts execute whenever another administrator views the backup list page.


How can this vulnerability impact me? :

This vulnerability allows an authenticated administrator to inject arbitrary web scripts into the backup title alias. When other administrators view the backup list page, these scripts execute in their browsers. This can lead to unauthorized actions such as stealing session cookies, performing actions on behalf of other administrators, or defacing the admin interface. Because the attacker must have Administrator-level access, the risk is limited to trusted users who have already compromised or have elevated privileges on the site.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability involves Stored Cross-Site Scripting (XSS) via the backup title alias (`val` parameter) in the `update_kbd_bkup_alias` AJAX action of the Keep Backup Daily WordPress plugin up to version 2.1.2. Detection involves identifying if the plugin is installed and its version, and monitoring for suspicious or malicious scripts injected into backup titles.

Since the vulnerability requires authenticated Administrator-level access to inject scripts, detection can include reviewing backup titles for unusual or suspicious HTML or JavaScript code, especially in the backup list page.

Suggested commands or steps to detect the vulnerability include:

  • Check the installed version of the Keep Backup Daily plugin to confirm if it is version 2.1.2 or earlier.
  • Use WP-CLI or database queries to inspect the backup titles stored in the WordPress database for suspicious script tags or attribute injections.
  • Example WP-CLI command to list backup titles (assuming backup titles are stored in a custom table or post meta): wp db query "SELECT val FROM wp_options WHERE option_name LIKE '%kbd_bkup_alias%' OR option_name LIKE '%backup_title%'"
  • Monitor HTTP requests to the AJAX action `update_kbd_bkup_alias` for suspicious payloads containing script tags or encoded JavaScript.
  • Review web server logs or use a web application firewall (WAF) to detect attempts to exploit the `update_kbd_bkup_alias` AJAX endpoint.

What immediate steps should I take to mitigate this vulnerability?

To mitigate this Stored Cross-Site Scripting vulnerability in the Keep Backup Daily plugin, immediate steps include:

  • Update the Keep Backup Daily plugin to a version later than 2.1.2 where the vulnerability is fixed.
  • Restrict Administrator-level access to trusted users only, as exploitation requires authenticated Administrator privileges.
  • Temporarily disable or restrict access to the `update_kbd_bkup_alias` AJAX action if possible, to prevent injection of malicious backup titles.
  • Review and sanitize existing backup titles in the database to remove any injected scripts.
  • Implement or enhance input sanitization and output escaping in custom code or plugins interacting with backup titles.
  • Monitor administrator activity and audit logs for suspicious changes to backup titles.

Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart