{"id":"CVE-2026-118057","kind":"vulnerability","aliases":["CVE-2026-118057"],"related":[],"title":"WordPress Shield Security plugin: stored XSS via REQUEST_URI logging","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.","summary":"The Shield Security WordPress plugin stores the request URI from unauthenticated visitors and renders it unescaped in an admin traffic table. An attacker can inject scripts that run in the browser of anyone who views that page, such as an administrator.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["package","self-hosted","shield-security","wordpress"],"not_affected_if":["plugin-not-installed"],"how_to_check":"- Check the installed plugin version in the WordPress admin plugin list or in the plugin's main file header\n- Confirm whether the Shield Security plugin is active on the site\n- Look at the plugin's version field for `22.3.2` or earlier","fix":"- Versions up to and including `22.3.2` are affected; the sources do not state a fixed version","status":"open","published_at":"2026-10-31T08:16:48+00:00","first_seen_at":"2026-10-31T08:34:28+00:00","triaged_at":"2026-10-31T08:35:05+00:00","updated_at":"2026-10-31T08:35:05+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T08:35:05Z","model":"claude-haiku-5-5","output":{"fix":"- Versions up to and including `22.3.2` are affected; the sources do not state a fixed version","reach":"internet","title":"WordPress Shield Security plugin: stored XSS via REQUEST_URI logging","impact":"medium","summary":"The Shield Security WordPress plugin stores the request URI from unauthenticated visitors and renders it unescaped in an admin traffic table. An attacker can inject scripts that run in the browser of anyone who views that page, such as an administrator.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","shield-security","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"Scripts run in an admin's browser, enabling session takeover on the site","analyst_note":"Check the NVD or Wordfence entry for a fixed plugin version; the sources only state affected versions.","how_to_check":"- Check the installed plugin version in the WordPress admin plugin list or in the plugin's main file header\n- Confirm whether the Shield Security plugin is active on the site\n- Look at the plugin's version field for `22.3.2` or earlier","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed"],"who_is_affected":"WordPress sites running the Shield Security plugin at version 22.3.2 or earlier are exposed. The flaw is in the admin traffic log, so the risk lands on staff who open that log while logged in. Sites without this plugin are not affected.","user_interaction":"yes","needs_special_setup":"no","severity_if_unknown":"high"},"cost_usd":0.000712,"input_tokens":4326,"output_tokens":559,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-118057':13A,16A '-2026':12A,15A '18.5.8':175C '22.2.6':195C '22.3.2':102C 'access':131C 'add':176C 'admin':43B 'administr':65B 'anyon':57B 'arbitrari':120C 'attack':47B,117C 'block':71C 'bot':70C 'browser':55B 'brute':73C 'brute-forc':72C 'build':150C 'caus':155C 'cell':152C 'client':144C 'client-sid':143C 'column':138C,184C 'cross':87C 'cross-sit':86C 'cve':11A,14A 'datat':149C 'dom':167C 'due':103C 'esc':177C 'escap':110C 'execut':127C 'exploit':192C 'field':189C 'file':77C 'fix':172C 'forc':74C 'fortraffic.php':140C 'function':147C 'hidden':136C,187C 'host':20B 'html':157C,178C 'includ':101C 'inject':49B,119C,133C 'innerhtml':154C 'input':106C 'insuffici':105C 'lack':141C 'leav':185C 'live':166C 'log':10A 'login':75C 'make':112C 'node':168C 'output':109C 'packag':17B 'page':61B,124C,134C,183C 'paramet':94C 'pars':164C 'partial':171C 'path':137C,160C,188C 'plugin':4A,29B,79C 'possibl':114C 'prior':170C 'protect':76C 'render':38B,146C 'request':8A,32B,92C 'run':52B 'sanit':107C 'scan':78C 'script':50B,89C,122C 'secur':3A,23B,27B,68C 'self':19B 'self-host':18B 'shield':2A,22B,26B,67C 'shield-secur':21B 'side':145C 'site':88C 'smart':69C 'store':5A,30B,85C,156C 'tabl':45B 'traffic':44B 'unauthent':35B,116C 'unescap':40B,190C 'uri':9A,33B,93C 'user':130C 'valu':161C 'version':97C,174C,194C 'via':7A,90C,153C 'view':59B 'visibl':182C 'visitor':36B 'vulner':83C 'web':121C 'whenev':128C 'wordpress':1A,24B,28B,81C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"WordPress sites running the Shield Security plugin at version 22.3.2 or earlier are exposed. The flaw is in the admin traffic log, so the risk lands on staff who open that log while logged in. Sites without this plugin are not affected.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T08:16:48+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","cvss_by":"security@wordfence.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-118057","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118057","severity":null,"published_at":"2026-10-31T08:16:48+00:00","modified_at":"2026-10-31T08:16:48+00:00","first_seen_at":"2026-10-31T08:34:28+00:00","fetched_at":"2026-10-31T08:34:28+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}