CVE-2026-118057 in Shield Security Plugininfo

Summary

by MITRE • 10/31/2026

The Shield Security – Smart Bot Blocking, Brute-Force Login Protection & File Scanning plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'REQUEST_URI' parameter in all versions up to, and including, 22.3.2 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. The hidden 'path' column in ForTraffic.php lacks a client-side render function, so DataTables builds its cell via innerHTML, causing stored HTML in the path value to be parsed into live DOM nodes; a prior partial fix in version 18.5.8 added esc_html() only to the visible 'page' column, leaving the hidden 'path' field unescaped and exploitable through version 22.2.6.

Be aware that VulDB is the high quality source for vulnerability data.

Analysis

by VulDB Data Team • 10/31/2026

The Shield Security plugin for WordPress, specifically versions up to and including 22.3.2, contains a critical stored cross-site scripting vulnerability rooted in insufficient input sanitization and output escaping mechanisms. This flaw allows unauthenticated attackers to inject arbitrary web scripts into the application's data storage, which are subsequently executed when legitimate users access specific pages containing this malicious content. The core of the issue lies within the plugin’s handling of the REQUEST_URI parameter during traffic logging operations. When a request is processed, the URI path is stored in the database without adequate validation or encoding, creating an entry point for persistent script injection that does not require user authentication to exploit initially but requires victim interaction to trigger execution.

The technical mechanism behind this vulnerability involves the plugin’s internal file ForTraffic.php and its integration with DataTables for displaying traffic logs. The application maintains a hidden column labeled path which stores the raw URI data retrieved from server requests. Due to a design oversight, this specific field lacks a client-side render function that would properly escape special HTML characters before rendering. Consequently, when the DataTables library constructs the table cell using innerHTML, it interprets any embedded script tags or event handlers as live DOM nodes rather than plain text. This behavior effectively bypasses standard browser security models because the malicious payload is not merely displayed but actively executed within the context of the victim’s session on the plugin’s administrative interface.

This vulnerability was partially addressed in version 18.5.8, where developers added esc_html() sanitization to the visible page column used for display purposes. However, this fix was incomplete as it failed to apply equivalent escaping measures to the hidden path field that feeds into the DataTables rendering engine. As a result, attackers could continue to exploit the discrepancy between how data is stored and how it is rendered in the user interface from version 18.5.9 through 22.3.2. The persistence of this flaw highlights a common challenge in web application security where partial remediation efforts may overlook less visible or backend-heavy components, leaving critical attack vectors open for exploitation by malicious actors seeking to compromise WordPress environments.

The operational impact of this stored cross-site scripting vulnerability is significant, as it enables attackers to perform actions on behalf of authenticated administrators who view the traffic logs. By injecting scripts that steal session cookies, redirect users to phishing sites, or execute arbitrary commands within the admin dashboard context, an attacker can gain unauthorized access to sensitive site data and configuration settings. This compromises the integrity and confidentiality of the WordPress installation, potentially leading to full site takeover if combined with other vulnerabilities or weak administrative credentials. The ability to inject scripts without prior authentication makes this a particularly dangerous flaw for high-traffic sites where log files are frequently reviewed by multiple administrators.

From a classification perspective, this vulnerability aligns with CWE-79 Improper Neutralization of Input During Web Page Generation commonly known as Cross-site Scripting and specifically falls under the Stored XSS subcategory due to its persistence in server-side storage. In terms of offensive security frameworks such as MITRE ATT&CK for Enterprise, this technique maps to T1059 Command and Scripting Interpreter through JavaScript execution within a browser environment and potentially T1204 User Execution if it relies on social engineering tactics like tricking admins into viewing infected logs. Mitigation strategies must prioritize immediate updates to the latest patched version of Shield Security which addresses these escaping deficiencies across all relevant fields. Until an update is applied, administrators should restrict access to traffic log pages using additional authentication layers or IP whitelisting and manually sanitize any existing entries in the database that contain suspicious URI patterns containing script tags or encoded HTML entities.

Responsible

Wordfence

Reservation

10/27/2026

Disclosure

10/31/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!