{"id":"CVE-2026-120114","kind":"vulnerability","aliases":["CVE-2026-120114"],"related":[],"title":"WordPress Debug Log Manager plugin: stored XSS via unauthenticated error logging","description":"The Debug Log Manager – Conveniently Monitor and Inspect Errors plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'message (and pageUrl)' parameter in all versions up to, and including, 2.5.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. Successful exploitation requires that the site administrator has debug logging enabled with JS error logging active, and that the attacker can obtain the publicly emitted dlmVars.jsErrorLogging nonce — which is broadcast on every frontend page — to pass the nonce check on the unauthenticated endpoint.","summary":"The Debug Log Manager plugin for WordPress up to and including 2.5.2 fails to sanitize the message and pageUrl values it stores from JavaScript error reports. An unauthenticated attacker can plant scripts that run in the browser of any user who opens the affected admin log page.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["debug-log-manager","package","self-hosted","wordpress"],"not_affected_if":["debug-logging-disabled","js-error-logging-disabled","plugin-not-installed"],"how_to_check":"- Check the installed version of the Debug Log Manager plugin in the WordPress admin plugin list, or `wp plugin get debug-log-manager --field=version`\n- Check whether debug logging with JS error logging is enabled in the plugin settings","fix":"- Debug Log Manager: a fixed version is not stated in the sources; move to a release later than `2.5.2` once the vendor publishes one","status":"open","published_at":"2026-10-31T10:16:38+00:00","first_seen_at":"2026-10-31T10:34:56+00:00","triaged_at":"2026-10-31T10:35:54+00:00","updated_at":"2026-10-31T10:35:54+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-10-31T10:35:54Z","model":"claude-haiku-5-5","output":{"fix":"- Debug Log Manager: a fixed version is not stated in the sources; move to a release later than `2.5.2` once the vendor publishes one","reach":"internet","title":"WordPress Debug Log Manager plugin: stored XSS via unauthenticated error logging","impact":"medium","summary":"The Debug Log Manager plugin for WordPress up to and including 2.5.2 fails to sanitize the message and pageUrl values it stores from JavaScript error reports. An unauthenticated attacker can plant scripts that run in the browser of any user who opens the affected admin log page.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","debug-log-manager","self-hosted"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"scripts run in an administrator's browser on the WordPress site","analyst_note":"Confirm the fixed version and whether the vendor has released a patch; the sources only give the affected range up to 2.5.2.","how_to_check":"- Check the installed version of the Debug Log Manager plugin in the WordPress admin plugin list, or `wp plugin get debug-log-manager --field=version`\n- Check whether debug logging with JS error logging is enabled in the plugin settings\n- unknown for anything else","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","js-error-logging-disabled","debug-logging-disabled"],"who_is_affected":"Sites running Debug Log Manager 2.5.2 or earlier with debug logging and JS error logging turned on are exposed, because the plugin stores attacker-supplied error reports. The attacker needs the publicly emitted nonce, which appears on every frontend page, so no account is required. Sites with the plugin absent, on a later version, or with JS error logging off can skip it.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000766,"input_tokens":4287,"output_tokens":675,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-120114':14A,17A '-2026':13A,16A '2.5.2':38B,107C 'access':136C 'activ':155C 'admin':71B 'administr':146C 'affect':70B 'arbitrari':125C 'attack':55B,122C,159C 'broadcast':169C 'browser':63B 'check':178C 'conveni':78C 'cross':91C 'cross-sit':90C 'cve':12A,15A 'debug':2A,19B,28B,75C,148C 'debug-log-manag':18B 'dlmvars.jserrorlogging':165C 'due':108C 'emit':164C 'enabl':150C 'endpoint':182C 'error':10A,51B,82C,153C 'escap':115C 'everi':171C 'execut':132C 'exploit':141C 'fail':39B 'frontend':172C 'host':25B 'includ':37B,106C 'inject':124C,138C 'input':111C 'inspect':81C 'insuffici':110C 'javascript':50B 'js':152C 'log':3A,11A,20B,29B,72B,76C,149C,154C 'make':117C 'manag':4A,21B,30B,77C 'messag':43B,96C 'monitor':79C 'nonc':166C,177C 'obtain':161C 'open':68B 'output':114C 'packag':22B 'page':73B,129C,139C,173C 'pageurl':45B,98C 'paramet':99C 'pass':175C 'plant':57B 'plugin':5A,31B,83C 'possibl':119C 'public':163C 'report':52B 'requir':142C 'run':60B 'sanit':41B,112C 'script':58B,93C,127C 'self':24B 'self-host':23B 'site':92C,145C 'store':6A,48B,89C 'success':140C 'unauthent':9A,54B,121C,181C 'user':66B,135C 'valu':46B 'version':102C 'via':8A,94C 'vulner':87C 'web':126C 'whenev':133C 'wordpress':1A,26B,33B,85C 'xss':7A","nicknames":[],"mitigations":[],"who_affected":"Sites running Debug Log Manager 2.5.2 or earlier with debug logging and JS error logging turned on are exposed, because the plugin stores attacker-supplied error reports. The attacker needs the publicly emitted nonce, which appears on every frontend page, so no account is required. Sites with the plugin absent, on a later version, or with JS error logging off can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T10:16:38+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-120114","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-120114","severity":null,"published_at":"2026-10-31T10:16:38+00:00","modified_at":"2026-10-31T10:16:38+00:00","first_seen_at":"2026-10-31T10:34:56+00:00","fetched_at":"2026-10-31T10:34:56+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"}