{"id":"CVE-2026-118070","kind":"vulnerability","aliases":["CVE-2026-118070"],"related":[],"title":"Welcart e-Commerce WordPress plugin: stored XSS via gid parameter","description":"The Welcart e-Commerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'gid' parameter in all versions up to, and including, 2.12.5 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 payload is staged by an unauthenticated visitor who forges the ROBOT PAYMENT browser-return request, storing the malicious gid value in order metadata; the script then fires when an administrator opens that order in the WordPress admin panel.","summary":"The Welcart e-Commerce plugin for WordPress stores unsanitized input from the 'gid' parameter in order metadata, and the script runs when an administrator opens that order. An unauthenticated attacker can plant the payload through a forged payment return request, which can lead to script running in the admin's browser.","severity":"high","cvss":7.2,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["e-commerce","package","welcart","woocommerce-alternative","wordpress"],"not_affected_if":["plugin-not-installed","plugin-version-above-2.12.5","robot-payment-not-used"],"how_to_check":"- Check the installed Welcart e-Commerce plugin version in the WordPress admin plugin list; affected versions are all up to and including `2.12.5`.","fix":"- Welcart e-Commerce: versions after `2.12.5` (the sources do not name the fixed version)","status":"open","published_at":"2026-10-31T07:16:36+00:00","first_seen_at":"2026-10-31T07:34:07+00:00","triaged_at":"2026-10-31T07:34:32+00:00","updated_at":"2026-10-31T07:34:32+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-10-31T07:34:32Z","model":"claude-haiku-5-5","output":{"fix":"- Welcart e-Commerce: versions after `2.12.5` (the sources do not name the fixed version)\n- unknown","reach":"internet","title":"Welcart e-Commerce WordPress plugin: stored XSS via gid parameter","impact":"medium","summary":"The Welcart e-Commerce plugin for WordPress stores unsanitized input from the 'gid' parameter in order metadata, and the script runs when an administrator opens that order. An unauthenticated attacker can plant the payload through a forged payment return request, which can lead to script running in the admin's browser.","audience":"businesses","category":"package","nicknames":[],"who_cares":["wordpress","welcart","e-commerce","woocommerce-alternative"],"confidence":0.6,"fix_status":"unknown","needs_auth":"no","worst_case":"Script runs in an administrator's browser, enabling admin session takeover","analyst_note":"Confirm the fixed Welcart version and whether ROBOT PAYMENT must be enabled for exposure, using the NVD entry and the vendor changelog.","how_to_check":"- Check the installed Welcart e-Commerce plugin version in the WordPress admin plugin list; affected versions are all up to and including `2.12.5`.\n- unknown","plain_action":"","needs_analyst":true,"not_affected_if":["plugin-not-installed","plugin-version-above-2.12.5","robot-payment-not-used"],"who_is_affected":"Sites running the Welcart e-Commerce plugin up to and including version 2.12.5 that accept ROBOT PAYMENT order returns. The payload executes when an administrator opens the injected order in the WordPress admin panel, so sites without that payment flow or without the plugin can skip it.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"high"},"cost_usd":0.000743,"input_tokens":4247,"output_tokens":636,"severity_before":"high"},"analyst_status":null,"analyst_note":null,"search":"'-118070':14A,17A '-2026':13A,16A '2.12.5':106C 'access':135C 'admin':76B,177C 'administr':51B,170C 'altern':25B 'arbitrari':124C 'attack':57B,121C 'browser':78B,153C 'browser-return':152C 'commerc':4A,20B,31B,83C 'cross':92C 'cross-sit':91C 'cve':12A,15A 'due':107C 'e':3A,19B,30B,82C 'e-commerc':2A,18B,29B,81C 'escap':114C 'execut':131C 'fire':167C 'forg':64B,148C 'gid':10A,40B,97C,159C 'includ':105C 'inject':123C,137C 'input':37B,110C 'insuffici':109C 'lead':70B 'make':116C 'malici':158C 'metadata':44B,163C 'open':52B,171C 'order':43B,54B,162C,173C 'output':113C 'packag':21B 'page':128C,138C 'panel':178C 'paramet':11A,41B,98C 'payload':61B,140C 'payment':65B,151C 'plant':59B 'plugin':6A,32B,84C 'possibl':118C 'request':67B,155C 'return':66B,154C 'robot':150C 'run':48B,73B 'sanit':111C 'script':47B,72B,94C,126C,165C 'site':93C 'stage':142C 'store':7A,35B,90C,156C 'unauthent':56B,120C,145C 'unsanit':36B 'user':134C 'valu':160C 'version':101C 'via':9A,95C 'visitor':146C 'vulner':88C 'web':125C 'welcart':1A,22B,28B,80C 'whenev':132C 'woocommerc':24B 'woocommerce-altern':23B 'wordpress':5A,26B,34B,86C,176C 'xss':8A","nicknames":[],"mitigations":[],"who_affected":"Sites running the Welcart e-Commerce plugin up to and including version 2.12.5 that accept ROBOT PAYMENT order returns. The payload executes when an administrator opens the injected order in the WordPress admin panel, so sites without that payment flow or without the plugin can skip it.","tier":"B","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"first_public_at":"2026-10-31T07:16:36+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-118070","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-118070","severity":null,"published_at":"2026-10-31T07:16:36+00:00","modified_at":"2026-10-31T07:16:36+00:00","first_seen_at":"2026-10-31T07:34:07+00:00","fetched_at":"2026-10-31T07:34:07+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"}