Skip to main content

Shield Security CVE-2026-118057

| EUVDEUVD-2026-114648 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-10-31 Wordfence GHSA-832v-j8jj-hrq5
7.2
CVSS 3.1 · Vendor: Wordfence
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send HTTP request with scripted REQUEST_URI
  2. Delivery
    Payload stored in traffic log path field
  3. Exploit
    Administrator opens Traffic log viewer
  4. Execution
    DataTables renders hidden path via innerHTML
  5. Impact
    Script executes in admin session context

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Injection requires the plugin's traffic/activity logging to be enabled so that REQUEST_URI is captured and persisted - with logging active, the injection itself needs no authentication and no further special configuration. Execution of the stored payload requires an authenticated administrator to subsequently open the plugin's Traffic log viewer page, where the hidden 'path' column is constructed by DataTables via innerHTML because ForTraffic.php lacks a client-side render function; the partial fix in 18.5.8 added esc_html() only to the visible 'page' column, leaving 'path' exploitable through 22.3.2. Limiting factors: traffic logging must be on, an admin must view the traffic table, and the site must run an affected version (≤22.3.2; fixed in 22.3.4 per the vendor changeset).

Impact

The published CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N, base 7.2) frames this as a network-reachable, low-complexity, unauthenticated stored XSS with scope change and limited confidentiality/integrity impact. The injection step is genuinely trivial: any unauthenticated attacker can place a payload into the stored traffic log simply by sending a request whose REQUEST_URI contains script. However, the description establishes a real limiting factor that the CVSS UI:N metric understates - the payload only executes when the plugin's traffic logging is active AND an authenticated administrator later opens the Traffic log viewer, where the hidden 'path' column is rendered through DataTables' innerHTML. This makes realistic exploitation opportunistic rather than guaranteed. On the decision signals: the input carries no EPSS score and no CISA KEV listing, so there is no evidence of active or widespread exploitation; the vuln.today Decision label is 'this_week' (elevated, not emergency). No public exploit or PoC reference is present in the input (only the Wordfence advisory and vendor source-code links). Net assessment: a credible, easily-triggered injection whose impact is gated on admin viewing behavior - a legitimate patch-this-week item, not a drop-everything emergency, and not merely a high-CVSS/low-real-risk issue given the unauthenticated injection and admin-session impact. EPSS is absent and should be checked to refine prioritization.

Exploit ScenarioDerived

An unauthenticated attacker sends an HTTP request to the WordPress site whose URL path contains a JavaScript payload; the Shield Security traffic logger records the REQUEST_URI and stores it. Later, when a site administrator opens the plugin's Traffic log viewer, the hidden 'path' column is built via DataTables innerHTML with no escaping, so the stored HTML is parsed into live DOM nodes and the script runs in the administrator's authenticated browser session. No public exploit code is identified in the provided data.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 31, 2026

Stored cross-site scripting in the Shield Security WordPress plugin (wp-simple-firewall) affects every version up to and including 22.3.2 and lets unauthenticated remote attackers inject arbitrary HTML/JavaScript into the plugin's traffic log through the logged REQUEST_URI value. The plugin records that value without adequate sanitization and later renders it into the hidden 'path' column of the Traffic table via DataTables innerHTML, so the payload is parsed into live DOM nodes and executes when an administrator opens the Traffic log viewer. Successful abuse is bounded by two conditions: the plugin's traffic/activity logging must be enabled so REQUEST_URI is captured and persisted, and an admin must subsequently view the traffic table; the issue was only partially addressed in 18.5.8, where esc_html() was applied to the visible 'page' column but not to 'path'. Exploitation status: no public exploit identified at time of analysis, and the vendor changeset identifies 22.3.4 as the fixed release.

RemediationAI

Vendor-released patch: upgrade the Shield Security plugin to version 22.3.4 or later, which is the release identified by the vendor changeset (https://plugins.trac.wordpress.org/changeset?reponame=&new=3769612%40wp-simple-firewall%2Ftags%2F22.3.4&old=3768418%40wp-simple-firewall%2Ftags%2F22.3.2) as the fix for the unescaped hidden 'path' column in ForTraffic.php; the 18.5.8 esc_html() change did not cover this field and is not sufficient. Until the update is applied, the exposure is reduced only by removing the necessary precondition described in the available analysis: the injection is only possible when the plugin's traffic/activity logging is enabled and actively capturing and persisting REQUEST_URI, so disabling that logging suppresses the sink, at the cost of losing the plugin's request/traffic visibility for the site. Note also that stored payloads already written while logging was active must be cleared, and that viewing the Traffic log table is what triggers execution in an administrator's browser, so administrators should avoid opening that page on unpatched, logging-enabled installations. Refer to the Wordfence advisory for the vendor's guidance.

Affected VersionsENISA

Shield Security – Smart Bot Blocking, Brute-Force Login Protection & File Scanning 0 ≤22.3.2

Affected Packages

euvd shield_security_smart_bot_blocking_brute_force_login_protection_file_scanning no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected component is a PHP-based WordPress plugin, Shield Security (slug wp-simple-firewall), which maintains its own request metadata logging and admin-side tables. Per the referenced source, RequestMetaProcessor.php captures request metadata including REQUEST_URI, BuildTrafficTableData.php assembles the row data (including the raw path value) for the Traffic table, and ForTraffic.php defines the DataTables column layout. The root cause is CWE-79 (improper neutralization of input during web page generation) manifesting as a stored, server-persisted XSS: the hidden 'path' column has no client-side render function, so DataTables constructs that cell using innerHTML rather than a text-safe renderer, causing stored HTML in the path value to be parsed into live DOM nodes in the administrator's browser. A prior hardening pass in version 18.5.8 applied esc_html() only to the visible 'page' column, leaving the 'path' field unescaped and exploitable through 22.3.2. The assessed vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N (7.2) reflects a network-reachable, low-complexity flaw with no attacker-side privileges required, scope change because the script runs in the privileged admin context of the WordPress dashboard, and limited confidentiality and integrity impact; the trigger path described in the available sources requires the plugin's traffic logging to be active and an authenticated administrator to open the Traffic log viewer, where the injected markup executes.

Know when PHP gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Wordfence) PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
vuln.today AI 7.2 HIGH

Unauthenticated injection via logged REQUEST_URI (PR:N, AC:L, AV:N); stored XSS executes in the admin's browser, a changed security context (S:C), with limited confidentiality and integrity impact and no availability impact.

3.1 AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (Wordfence).

CVSS VectorVendor: Wordfence

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

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.

Executive ViewAI

Why It Matters

A high-severity stored cross-site scripting vulnerability in the Shield Security WordPress plugin (up to version 22.3.2) enables unauthenticated attackers to inject malicious scripts into the traffic log. When an administrator views the log, the script executes, potentially leading to session hijacking, data theft, or full site compromise. This poses a significant risk to organizations relying on this plugin for website security, as it can undermine the very protection it provides and affect site integrity and user trust.

Business Impact: High
Compensating Controls

Disable the plugin's traffic/activity logging to prevent REQUEST_URI capture; restrict administrator access to the Traffic log viewer; deploy a WAF with rules to block XSS patterns in request URIs; monitor for suspicious admin account activity.

Threat Intelligence Overview

EPSS Score
0.2%
Top 85% exploitable
Prevalence
Medium
Established WordPress security plugin with a moderate, not universal, install base
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.2%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

More in PHP

View all
CVE-2019-11043 CRITICAL POC
9.8 Oct 28

In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it

CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2018-11138 CRITICAL POC
9.8 May 31

The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy