CVE-2026-2280 Overview
CVE-2026-2280 is a Stored Cross-Site Scripting (XSS) vulnerability in the rexCrawler plugin for WordPress, affecting all versions up to and including 1.0.15. The flaw stems from insufficient input sanitization and output escaping in the plugin's admin settings. Authenticated attackers with administrator-level permissions can inject arbitrary web scripts that execute when users access affected pages. The vulnerability is scoped to multi-site installations and installations where the unfiltered_html capability has been disabled. It is classified under [CWE-79] Improper Neutralization of Input During Web Page Generation.
Critical Impact
Authenticated administrators on multi-site WordPress deployments can persist malicious scripts that execute in the browsers of other users, including super-admins.
Affected Products
- rexCrawler plugin for WordPress, versions up to and including 1.0.15
- WordPress multi-site installations using rexCrawler
- WordPress installations with unfiltered_html disabled and rexCrawler installed
Discovery Timeline
- 2026-05-27 - CVE-2026-2280 published to NVD
- 2026-05-27 - Last updated in NVD database
Technical Details for CVE-2026-2280
Vulnerability Analysis
The rexCrawler plugin exposes admin settings inputs that are written back into rendered pages without sufficient sanitization or output escaping. According to the referenced plugin source review, the issue surfaces in admin_main.php around lines 108 and 239, where settings values are emitted into HTML contexts. Because the output path lacks calls such as esc_attr() or esc_html(), attacker-controlled content remains active as script markup. The vulnerability requires high privileges and user interaction, and it changes scope because the script executes within the context of other users browsing the admin or affected pages.
Root Cause
The root cause is missing input sanitization on save and missing context-aware output escaping on render within the plugin's admin settings handling. WordPress normally grants administrators the unfiltered_html capability, allowing raw HTML in fields. On multi-site installs and installs where unfiltered_html is disabled, this capability is removed, so sanitization at the plugin layer becomes mandatory. The plugin does not enforce that boundary, allowing persisted script payloads.
Attack Vector
An authenticated administrator submits crafted JavaScript through the rexCrawler admin settings form. The payload is stored in the WordPress options table and rendered into pages served to subsequent visitors. When a user, including a super-admin on a multi-site network, loads the affected page, the script executes in their browser session. This enables session theft, forced administrative actions, and pivoting toward super-admin compromise across the network.
No verified proof-of-concept code is published for this issue. Technical details are available in the WordPress Plugin Code Review and the Wordfence Vulnerability Intel entry.
Detection Methods for CVE-2026-2280
Indicators of Compromise
- Unexpected <script>, onerror, or onload content stored in rexCrawler-related rows of the WordPress wp_options table.
- Admin settings pages rendering unescaped HTML or executing JavaScript when loaded by non-attacker accounts.
- Outbound requests from administrator browsers to unfamiliar domains shortly after visiting rexCrawler-affected pages.
Detection Strategies
- Review the rexCrawler settings page source for inline scripts not shipped by the plugin.
- Query the options table for rexCrawler keys and inspect values for HTML event handlers or <script> tags.
- Audit WordPress activity logs for settings updates made by administrator accounts to rexCrawler configuration.
Monitoring Recommendations
- Enable WordPress audit logging for plugin settings changes and administrator activity on multi-site networks.
- Monitor web server logs for POST requests to rexCrawler admin endpoints followed by anomalous client-side activity.
- Alert on new outbound domains contacted by browsers immediately after admin-page navigation.
How to Mitigate CVE-2026-2280
Immediate Actions Required
- Restrict administrator accounts on multi-site networks to trusted personnel and enforce multi-factor authentication.
- Audit existing rexCrawler settings for stored script payloads and remove any unexpected HTML content.
- Consider deactivating the rexCrawler plugin on multi-site networks until a patched version is available.
Patch Information
At time of publication, the NVD entry lists all versions through 1.0.15 as affected, and no fixed version is identified in the referenced sources. Monitor the Wordfence Vulnerability Intel entry and the plugin's WordPress.org page for an updated release that adds proper sanitization and escaping in admin_main.php.
Workarounds
- Deactivate and remove the rexCrawler plugin on multi-site WordPress installations.
- Limit who holds the administrator role on networks where unfiltered_html is disabled.
- Place WordPress admin endpoints behind a web application firewall ruleset that blocks script payloads in POST bodies to plugin settings handlers.
# Example: list and inspect rexCrawler options for stored script payloads
wp option list --search='rexcrawler*' --format=table
wp option get rexcrawler_settings | grep -Ei '<script|onerror=|onload='
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

