{"id":"CVE-2026-116558","kind":"vulnerability","aliases":["CVE-2026-116558"],"related":[],"title":"WordPress Unlimited Elements plugin: stored XSS via RSS feed widget","description":"The Unlimited Elements for Elementor plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the '<title>/<description> inside the attacker-controlled RSS feed body' parameter in all versions up to, and including, 2.0.26 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. This is exploitable against any site whose administrator has placed the RSS Feed catalog widget pointing at a feed URL the attacker controls, as the plugin's own 2.0.25 escaping pre-processor intentionally excludes |raw prints in element content positions from its escaping logic, and XML entity-encoded payloads in feed item titles are decoded back to raw markup before reaching the sink.","summary":"The Unlimited Elements for Elementor WordPress plugin does not sanitize or escape RSS feed titles and descriptions, so markup from an attacker-controlled feed is stored and rendered on pages. When a visitor opens an injected page, the attacker's script runs in their browser.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["elementor","package","unlimited-elements","wordpress"],"not_affected_if":["no-rss-feed-widget","plugin-not-installed"],"how_to_check":"- Check whether the Unlimited Elements for Elementor plugin is installed and its version, in the WordPress admin plugin list.\n- Look for the RSS Feed catalog widget in Elementor pages that point at external feed URLs.","fix":"- Plugin versions up to and including `2.0.26` are affected; the sources do not name a fixed version.","status":"open","published_at":"2026-11-07T07:17:02+00:00","first_seen_at":"2026-11-07T07:46:06+00:00","triaged_at":"2026-11-07T07:47:00+00:00","updated_at":"2026-11-07T07:47:00+00:00","category":"package","confidence":0.7,"triage":{"at":"2026-11-07T07:47:00Z","model":"claude-haiku-5-5","output":{"fix":"- Plugin versions up to and including `2.0.26` are affected; the sources do not name a fixed version.","reach":"internet","title":"WordPress Unlimited Elements plugin: stored XSS via RSS feed widget","impact":"medium","summary":"The Unlimited Elements for Elementor WordPress plugin does not sanitize or escape RSS feed titles and descriptions, so markup from an attacker-controlled feed is stored and rendered on pages. When a visitor opens an injected page, the attacker's script runs in their browser.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","elementor","unlimited-elements"],"confidence":0.7,"fix_status":"unknown","needs_auth":"no","worst_case":"script runs in visitors' browsers on the site","analyst_note":"Confirm the fixed version of Unlimited Elements for Elementor after 2.0.26 and whether a patch is published, using the NVD entry https://nvd.nist.gov/vuln/detail/CVE-2026-116558.","how_to_check":"- Check whether the Unlimited Elements for Elementor plugin is installed and its version, in the WordPress admin plugin list.\n- Look for the RSS Feed catalog widget in Elementor pages that point at external feed URLs.","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","no-rss-feed-widget"],"who_is_affected":"Sites running the Unlimited Elements for Elementor plugin, up to and including 2.0.26, where an administrator placed the RSS Feed catalog widget pointing at a feed URL an attacker can control. Sites without that widget or without the plugin are not described as exposed.","user_interaction":"yes","needs_special_setup":"yes","severity_if_unknown":"high"},"cost_usd":0.000757,"input_tokens":4414,"output_tokens":631,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-116558':13A,16A '-2026':12A,15A '2.0.25':164C '2.0.26':103C 'access':132C 'administr':143C 'arbitrari':121C 'attack':45B,62B,90C,118C,157C 'attacker-control':44B,89C 'back':193C 'bodi':94C 'browser':68B 'catalog':149C 'content':175C 'control':46B,91C,158C 'cross':82C 'cross-sit':81C 'cve':11A,14A 'decod':192C 'descript':39B 'due':104C 'element':3A,21B,25B,71C,174C 'elementor':17B,27B,73C 'encod':185C 'entiti':184C 'entity-encod':183C 'escap':34B,111C,165C,179C 'exclud':170C 'execut':128C 'exploit':138C 'feed':9A,36B,47B,93C,148C,154C,188C 'includ':102C 'inject':59B,120C,134C 'input':107C 'insid':87C 'insuffici':106C 'intent':169C 'item':189C 'logic':180C 'make':113C 'markup':41B,196C 'open':57B 'output':110C 'packag':18B 'page':53B,60B,125C,135C 'paramet':95C 'payload':186C 'place':145C 'plugin':4A,29B,74C,161C 'point':151C 'posit':176C 'possibl':115C 'pre':167C 'pre-processor':166C 'print':172C 'processor':168C 'raw':171C,195C 'reach':198C 'render':51B 'rss':8A,35B,92C,147C 'run':65B 'sanit':32B,108C 'script':64B,84C,123C 'sink':200C 'site':83C,141C 'store':5A,49B,80C 'titl':37B,190C 'unauthent':117C 'unlimit':2A,20B,24B,70C 'unlimited-el':19B 'url':155C 'user':131C 'version':98C 'via':7A,85C 'visitor':56B 'vulner':78C 'web':122C 'whenev':129C 'whose':142C 'widget':10A,150C 'wordpress':1A,22B,28B,76C 'xml':182C 'xss':6A","nicknames":[],"mitigations":[],"who_affected":"Sites running the Unlimited Elements for Elementor plugin, up to and including 2.0.26, where an administrator placed the RSS Feed catalog widget pointing at a feed URL an attacker can control. Sites without that widget or without the plugin are not described as exposed.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["elementor","high","package","unlimitedelements","wordpress"],"campaign_type":null,"search_a":"'-116558':13A,16A '-2026':12A,15A 'cve':11A,14A 'element':3A 'feed':9A 'plugin':4A 'rss':8A 'store':5A 'unlimit':2A 'via':7A 'widget':10A 'wordpress':1A 'xss':6A","search_b":"'attack':45B,62B 'attacker-control':44B 'browser':68B 'control':46B 'descript':39B 'element':21B,25B 'elementor':17B,27B 'escap':34B 'feed':36B,47B 'inject':59B 'markup':41B 'open':57B 'packag':18B 'page':53B,60B 'plugin':29B 'render':51B 'rss':35B 'run':65B 'sanit':32B 'script':64B 'store':49B 'titl':37B 'unlimit':20B,24B 'unlimited-el':19B 'visitor':56B 'wordpress':22B,28B","search_c":"'2.0.25':164C '2.0.26':103C 'access':132C 'administr':143C 'arbitrari':121C 'attack':90C,118C,157C 'attacker-control':89C 'back':193C 'bodi':94C 'catalog':149C 'content':175C 'control':91C,158C 'cross':82C 'cross-sit':81C 'decod':192C 'due':104C 'element':71C,174C 'elementor':73C 'encod':185C 'entiti':184C 'entity-encod':183C 'escap':111C,165C,179C 'exclud':170C 'execut':128C 'exploit':138C 'feed':93C,148C,154C,188C 'includ':102C 'inject':120C,134C 'input':107C 'insid':87C 'insuffici':106C 'intent':169C 'item':189C 'logic':180C 'make':113C 'markup':196C 'output':110C 'page':125C,135C 'paramet':95C 'payload':186C 'place':145C 'plugin':74C,161C 'point':151C 'posit':176C 'possibl':115C 'pre':167C 'pre-processor':166C 'print':172C 'processor':168C 'raw':171C,195C 'reach':198C 'rss':92C,147C 'sanit':108C 'script':84C,123C 'sink':200C 'site':83C,141C 'store':80C 'titl':190C 'unauthent':117C 'unlimit':70C 'url':155C 'user':131C 'version':98C 'via':85C 'vulner':78C 'web':122C 'whenev':129C 'whose':142C 'widget':150C 'wordpress':76C 'xml':182C","first_public_at":"2026-11-07T07:17:02+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-116558","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-116558","severity":null,"published_at":"2026-11-07T07:17:02+00:00","modified_at":"2026-11-07T07:17:02+00:00","first_seen_at":"2026-11-07T07:46:06+00:00","fetched_at":"2026-11-07T07:46:06+00:00","note":null}],"documents":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}