---
id: "CVE-2026-109224"
kind: "vulnerability"
aliases: ["CVE-2026-109224"]
title: "SureCart WordPress plugin: unauthenticated stored XSS through comment parameter"
severity: "high"
cvss: 7.2
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["package", "self-hosted", "surecart", "wordpress"]
not_affected_if: ["comments-disabled", "no-buy-button-shortcode", "plugin-updated"]
published_at: "2026-10-16T09:17:04+00:00"
first_seen_at: "2026-10-23T21:57:12+00:00"
updated_at: "2026-10-25T03:29:36+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-109224", "first_seen_at": "2026-10-23T21:57:12+00:00"}]
---

# SureCart WordPress plugin: unauthenticated stored XSS through comment parameter

The SureCart WordPress ecommerce plugin up to and including 4.9.4 fails to sanitize the comment parameter, so an unauthenticated attacker can store a script that runs in visitors' browsers. The script runs on pages that load the surecart-components runtime, such as those with a buy button shortcode, and that contain no checkout element.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed SureCart version in the WordPress plugins screen or the plugin header in `wp-content/plugins/surecart/surecart.php`; versions `4.9.4` and older are affected
- Look for pages or posts using `[sc_buy_button]` that have no SureCart checkout element and accept public comments

## Fix

- Update the SureCart plugin to a version newer than `4.9.4`; the exact fixed version is unknown from the sources
- Until updated, disable comments on pages that use `[sc_buy_button]`, or moderate comments before they are published

## Timeline

- 2026-10-23T21:57:12+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-109224

## From the sources

The SureCart – Ecommerce Made Easy For Selling Physical Products, Digital Downloads, Subscriptions, Donations, & Payments plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'comment' parameter in all versions up to, and including, 4.9.4 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 execution requires the affected comment to appear on a post that loads the surecart-components runtime (e.g. via a [sc_buy_button] shortcode) and contains no sc-checkout element, as these conditions trigger the innerHTML sink in sc-cart-loader.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
