← Back to CVE Explorer

CVE-2026-121516

Full vulnerability record from the local CVENow database.

Description

The QODE Wishlist for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'qode_wishlist_for_woocommerce_guests_items' parameter in all versions up to, and including, 1.2.9 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 by guests because the required wp_rest nonce is publicly emitted to unauthenticated visitors on the /wishlist/ page, and the attacker controls the transient key, meaning the payload is stored site-wide and only requires a victim to open a crafted share URL and click the injected title link. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own.

Severity
MEDIUM
CVSS score
6.1 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-11-07 04:17:18.640000
Last modified
2026-11-07 04:17:18.777000
View original CVE JSON
{
  "id": "CVE-2026-121516",
  "sourceIdentifier": "[email protected]",
  "published": "2026-11-07T04:17:18.640",
  "lastModified": "2026-11-07T04:17:18.777",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The QODE Wishlist for WooCommerce plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the 'qode_wishlist_for_woocommerce_guests_items' parameter in all versions up to, and including, 1.2.9 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 by guests because the required wp_rest nonce is publicly emitted to unauthenticated visitors on the /wishlist/ page, and the attacker controls the transient key, meaning the payload is stored site-wide and only requires a victim to open a crafted share URL and click the injected title link. Successful exploitation additionally requires an action by an administrator — the attacker cannot trigger the vulnerability on their own."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "qodeinteractive",
          "product": "QODE Wishlist for WooCommerce",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "1.2.9",
              "versionType": "semver",
              "status": "affected"
            }
          ]
        }
      ]
    }
  ],
  "metrics": {
    "cvssMetricV31": [
      {
        "source": "[email protected]",
        "type": "Primary",
        "cvssData": {
          "version": "3.1",
          "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
          "baseScore": 6.1,
          "baseSeverity": "MEDIUM",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "REQUIRED",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "LOW",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 2.8,
        "impactScore": 2.7
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-79"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://plugins.trac.wordpress.org/browser/qode-wishlist-for-woocommerce/tags/1.2.9/assets/js/main.js#L857",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/qode-wishlist-for-woocommerce/tags/1.2.9/inc/wishlist/helper.php#L150",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/qode-wishlist-for-woocommerce/tags/1.2.9/inc/wishlist/helper.php#L949",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/qode-wishlist-for-woocommerce/tags/1.2.9/inc/wishlist/shortcodes/add-to-wishlist/helper-ajax.php#L83",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/qode-wishlist-for-woocommerce/tags/1.2.9/inc/wishlist/shortcodes/wishlist-table/templates/parts/section-title.php#L14",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/qode-wishlist-for-woocommerce?rev=3783991",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/changeset/3783991/qode-wishlist-for-woocommerce/trunk/assets/js/main.js",
      "source": "[email protected]"
    },
    {
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/fb50261f-c769-4fbb-a23a-eee3744b5317?source=cve",
      "source": "[email protected]"
    }
  ]
}