Description
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.
Published: 2026-10-31
Score: 7.2 High
EPSS: n/a
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Patch
AI Analysis

Impact

The Shield Security plugin for WordPress logs request paths in a hidden table column that is rendered via innerHTML. A prior partial sanitization fix applied only to a visible field, leaving the hidden path field unescaped. Unauthenticated attackers can therefore craft a malicious REQUEST_URI containing JavaScript or HTML. The payload is stored in the database and subsequently displayed to any user who views the traffic log entry, executing arbitrary code in the victim’s browser context. This can lead to session hijacking, credential theft, or site defacement.

Affected Systems

WordPress sites running the Shield Security plugin from paultgoodchild: ‘Shield Security – Smart Bot Blocking, Brute-Force Login Protection & File Scanning’ are affected in all releases up through and including version 22.3.2. Versions 22.3.3 and newer contain the fix that properly escapes the hidden path field.

Risk and Exploitability

The flaw carries a CVSS score of 7.2, placing it in the high‑severity range, and its EPSS score is not available, so the exploitation probability is uncertain but non‑negligible. The vulnerability is not listed in the CISA KEV catalog. Attackers only need to send a crafted URL containing a malicious REQUEST_URI; no authentication or elevated privileges are required. Once stored, the malicious script will execute every time an authenticated user opens the traffic log, making this a classic stored cross‑site scripting attack vector.

Generated by OpenCVE AI on October 31, 2026 at 09:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Shield Security to version 22.3.3 or later.
  • If an update cannot be applied immediately, disable traffic logging or remove the hidden ‘path’ column so that malicious URIs are no longer stored or displayed.
  • As a temporary measure, sanitize existing ‘path’ entries in the database by escaping HTML entities or removing the stored payloads.

Generated by OpenCVE AI on October 31, 2026 at 09:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 31 Oct 2026 08:00:00 +0000

Type Values Removed Values Added
Description 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.
Title Shield Security <= 22.3.2 - Unauthenticated Stored Cross-Site Scripting via Request Path (REQUEST_URI) in Traffic Log
Weaknesses CWE-79
References
Metrics cvssV3_1

{'score': 7.2, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: Wordfence

Published:

Updated: 2026-10-31T07:46:48.870Z

Reserved: 2026-10-27T15:31:44.213Z

Link: CVE-2026-118057

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-31T08:16:48.903

Modified: 2026-10-31T08:16:48.903

Link: CVE-2026-118057

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-31T10:00:18Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')