CVE-2026-120688: EZ SQL Reports Shortcode Widget and DB Backup <= 5.25.25 - Unauthenticated Stored Cross-Site Scripting via Comment User-Agent Header
The EZ SQL Reports Shortcode Widget and DB Backup plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'HTTPUSERAGENT (demonstrated); more generally, any attacker-controllable DB column the saved report selects' parameter in all versions up to, and including, 5.25.25 due to insufficient input sanitization and output escaping. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. This requires an administrator to have saved a SQL report that selects an attacker-controllable database column, such as wpcomments.commentagent, which WordPress stores verbatim from unauthenticated visitors even when comments are pending moderation.
Affected Software
Event History
Frequently Asked Questions
Who is exposed to exploitation?
Sites are exposed only if an administrator has saved a SQL report that selects an attacker-controllable database column. The demonstrated case is wp_comments.comment_agent, which can contain a visitor-controlled User-Agent value even when the associated comment is pending moderation.
What does an attacker need to exploit this issue?
An attacker does not need authentication or user interaction to store the payload. They need a saved report that selects a database field they can influence, and the payload executes when a user accesses the page containing the injected report output.
Are default plugin installations necessarily affected?
No. Exploitation depends on administrator-created saved SQL reports selecting attacker-controllable columns; the provided information does not establish that such a report exists by default.
How can I determine whether my site is at risk?
Review saved SQL reports for queries that select values supplied by unauthenticated visitors or other untrusted users. In particular, check for reports selecting wp_comments.comment_agent or other attacker-controllable database columns.