LearnCTEM.com, Best CTEM Learning Platform
CVE Intelligence Hub

CVE-2026-120688: WordPress EZ SQL Reports Shortcode Widget and DB Backup Cross Site Scripting Vulnerability

CVE-2026-120688 explained: high Cross Site Scripting in WordPress EZ SQL Reports Shortcode Widget and DB Backup. CVSS 7.2. Affected versions, detection, fixes and CT

Last updated: Nov 13, 2026

CVSS
7.2 HIGH
EPSS
0.42%
CISA KEV
Not listed
CWE
CWE-79

Sources: National Vulnerability Database, CVE.org, CISA KEV, FIRST EPSS

CVE-2026-120688 Overview

The EZ SQL Reports Shortcode Widget and DB Backup plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'HTTP_USER_AGENT (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 wp_comments.comment_agent, which WordPress stores verbatim from unauthenticated visitors even when comments are pending moderation.

Critical Impact

Remote, unauthenticated attackers can exploit this Cross Site Scripting in WordPress EZ SQL Reports Shortcode Widget and DB Backup. The CVSS base score is 7.2 (High).

Affected Products

  • WordPress EZ SQL Reports Shortcode Widget and DB Backup: see the vendor advisory for the exact affected versions

Discovery Timeline

  • 2026-11-13: CVE-2026-120688 published to the National Vulnerability Database by security@wordfence.com
  • 2026-11-13: last updated in the NVD database

Technical Details for CVE-2026-120688

Vulnerability Analysis

CVE-2026-120688 is a Cross Site Scripting weakness (CWE-79: Cross Site Scripting) in WordPress EZ SQL Reports Shortcode Widget and DB Backup. Based on its CVSS vector, the flaw can be reached over the network, needs no login, and needs no user interaction. Attacker supplied script runs in another user's browser inside the trusted site.

With a CVSS base score of 7.2 and an EPSS exploitation probability of 0.42 percent, apply the vendor fix and confirm exposure on internet facing and business critical assets first.

Root Cause

The weakness is classified as CWE-79: Cross Site Scripting. Attacker supplied script runs in another user's browser inside the trusted site.

Attack Vector

Based on the CVSS vector, the flaw can be reached over the network, needs no login, and needs no user interaction. Attack complexity is low complexity.

No exploitation in the wild is confirmed by CISA at the time of the last update. Check the references below for any vendor or researcher proof of concept.

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Detection Methods for CVE-2026-120688

Detection Strategies

  • Inventory every instance of WordPress EZ SQL Reports Shortcode Widget and DB Backup and compare the running version with the affected range above.
  • Check external attack surface scans for internet facing instances of the component.
  • Run an authenticated vulnerability scan once your scanner ships a check for this CVE.

Monitoring Recommendations

  • Forward WordPress EZ SQL Reports Shortcode Widget and DB Backup application, access and audit logs to your SIEM for retrospective hunting.
  • Alert on new processes, configuration changes or outbound connections from the affected service.
  • Track the vendor advisory and the CISA KEV catalog for changes in exploitation status.

How to Mitigate CVE-2026-120688

Immediate Actions Required

  • Apply the fixed version of WordPress EZ SQL Reports Shortcode Widget and DB Backup named in the vendor advisory.
  • Prioritize internet facing and business critical instances first.
  • Rescan after the change to confirm the exposure is closed.

Patch Information

Use the fixed version listed in the vendor advisory for WordPress EZ SQL Reports Shortcode Widget and DB Backup.

Workarounds

  • If patching must wait, restrict network access to the affected service and place it behind authentication or a web application firewall rule.

CWE References

Technical References

This entry is built directly from NVD, CISA KEV and EPSS data. Verify fixed versions in the vendor advisory before you deploy.

Frequently asked questions

CVE-2026-120688 is a high severity Cross Site Scripting in WordPress EZ SQL Reports Shortcode Widget and DB Backup with a CVSS score of 7.2. Apply the vendor fix and confirm exposure on internet facing and business critical assets first.

Related CVEs

CRITICAL9.8
CVE-2026-125055
WordPress Chatterbug Forms – Fast, Flexible WordPress Form Builder

The Chatterbug Forms – Fast, Flexible WordPress Form Builder plugin for WordPress is vulnerable to Arbitrary File Upload in all versions up to, and including, 1.0.2 via the cbforms_check_form_submissions function. This is due to missing server-side file extension validation in cbforms_check_form_submissions(), where the allowed-type check defaults to the uploaded file's own extension when no field restriction is configured, trivially allowing any extension including .php. This makes it possible for unauthenticated attackers to upload files that may be executable, which makes remote code execution possible. The submission nonce printed inline on every public page containing a Chatterbug form is freely obtainable by unauthenticated visitors and therefore does not constitute an effective access control barrier.

Nov 13, 2026
HIGH8.2
CVE-2026-124218
WordPress Drag and Drop File Upload for Elementor Forms

The Drag and Drop File Upload for Elementor Forms plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the remove_files function in all versions up to, and including, 1.6.2 This makes it possible for unauthenticated attackers to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). This vulnerability is reachable when the "yeepdf_not_save" privacy option is enabled, a commonly used production setting that triggers the remove_files() cleanup path.

Nov 13, 2026
HIGH8.8
CVE-2026-123769
WordPress SureDash – Community, Courses & Member Dashboard

The SureDash – Community, Courses & Member Dashboard plugin for WordPress is vulnerable to Privilege Escalation in all versions up to, and including, 1.13.0 This is due to the `save_settings()` REST handler at `/suredash/v1/save-settings` being gated only by `admin_permission_callback()`, which authorizes any holder of the custom `manage_portal_dashboard` capability (Portal Manager role) without requiring `promote_users`, `edit_users`, or `manage_options`, combined with `sanitize_settings_data()` iterating all attacker-supplied keys with no allow-list, allowing arbitrary keys such as `default_role` to pass through `sanitize_text_field()` unchanged and be persisted into the `portal_settings` option via `update_option()` with no role-validity check. This makes it possible for authenticated attackers with Portal Manager-level access and above to poison the `default_role` setting to `administrator`, after which any subsequent new-user registration through the publicly accessible block-register endpoint reads the corrupted setting and passes it directly to `wp_insert_user()`, producing a full WordPress Administrator account under the attacker's control. The exploit requires two steps: a POST to the authenticated `save-settings` endpoint to overwrite `default_role`, followed by triggering a new registration through the unauthenticated block-register endpoint to receive the escalated account. Successful exploitation causes the attacker's own account to receive the complete administrator role.

Nov 13, 2026
CRITICAL9.8
CVE-2026-119077
WordPress ELEX WordPress HelpDesk & Customer Ticketing System

The ELEX WordPress HelpDesk & Customer Ticketing System plugin for WordPress is vulnerable to PHP Object Injection in all versions up to, and including, 3.3.9 via the 'form (specifically the attacker-controlled ticket_label field inside the url-encoded form string)' parameter parameter. This is due to missing server-side authentication and the absence of a class allowlist on deserialization, with the only guard being a nonce publicly emitted on any page carrying the [wsdesk_support] shortcode. This makes it possible for unauthenticated attackers to execute code on the server. A successful exploit requires a single anonymous GET to any public page carrying the [wsdesk_support] shortcode to harvest the publicly emitted wsdesk_nonce value, after which a single unauthenticated POST completes the attack.

Nov 13, 2026
HIGH8.1
CVE-2026-118191
WordPress Photo Gallery, Sliders, Proofing and Themes – NextGEN Gallery

The Photo Gallery, Sliders, Proofing and Themes – NextGEN Gallery plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the handle_job function in all versions up to, and including, 4.5.5 This makes it possible for authenticated attackers, with custom-level access and above, to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php). The 'NextGEN Manage gallery' capability required to reach the vulnerable endpoint is granted to Administrators by default but can be delegated to lower-privileged roles via the plugin's Roles screen.

Nov 13, 2026
HIGH8.8
CVE-2026-116615
WordPress Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets

The Widget Options – Advanced Conditional Visibility for Gutenberg Blocks & Classic Widgets plugin for WordPress is vulnerable to Code Injection in all versions up to, and including, 4.2.6.1 via the `post_content` parameter. This is due to asymmetric parsing between the save-time strip filter (`widgetopts_strip_logic_from_blocks()`) and the render-time parser (`blockopts_filter_before_display()`): embedding an inner `<!--start_widgetopts` literal inside a JSON key causes the write-side `json_decode` to see a non-`class` key and skip stripping — persisting the payload verbatim to the database — while the render-side `str_replace` reconstitutes the key to `class`, feeding the attacker-controlled `logic` value directly into `@eval`. This makes it possible for authenticated attackers, with Author-level access and above, to inject PHP expressions that execute on every front-end page view, enabling boolean-oracle exfiltration of WordPress site configuration data — including admin email address, default role, and arbitrary `get_option`, `get_user_meta`, and `get_post_meta` values — via the plugin's allowlisted-function sandbox, which escalates to unrestricted code execution if any installed plugin extends the `widgetopts_allowed_php_functions` filter. Contributors can also exploit this vulnerability when their submitted post is later published by an administrator; notably, the injected payload executes for all site visitors, including unauthenticated users, because a trust-flag mechanism introduced in version 4.2.6 causes `widgetopts_safe_eval_trusted()` to bypass its non-admin short-circuit at every legacy render callsite. Exploitation by attackers with contributor-level access and above requires that an administrator (or editor) later publishes the contributor's submission. On a default installation, where that is not configured, the vulnerability requires attackers with author-level access and above.

Nov 13, 2026
All WordPress CVEs in 2026
Your next credential

Earn your free CTEM certification.

Learn to scope, prioritize, validate and mobilize fixes for CVEs like CVE-2026-120688 with a free CTEM certification.

Free to takePublicly verifiable

Beginner / Practitioner / Program Leader

Explore certifications