{
 "id": "WPSEC-2026-2915",
 "url": "https://wpsec.com/vuln/WPSEC-2026-2915/",
 "json_url": "https://wpsec.com/vuln/WPSEC-2026-2915/advisory.json",
 "markdown_url": "https://wpsec.com/vuln/WPSEC-2026-2915/index.md",
 "title": "GenerateBlocks <= 2.5.0 - Authenticated (Contributor+) Stored Cross-Site Scripting via Dynamic Tag 'replace' Modifier",
 "description": "The GenerateBlocks plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the dynamic tag 'replace' modifier in all versions up to, and including, 2.5.0, due to the modifier performing a string substitution on already-sanitized tag output without sanitizing the result again, which lets the substitution create new markup and attributes, and, in versions 2.4.0 and later, to the dynamic tag save check only detecting a literal '{{' so that HTML-entity-encoded tags could get past it. This makes it possible for authenticated attackers, with contributor-level access and above, to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page. In versions 2.4.0 and later, the injected tag only becomes active once a user who is allowed to author dynamic data saves or publishes the post.",
 "plugin": {
  "slug": "generateblocks",
  "name": "GenerateBlocks",
  "full_name": "GenerateBlocks",
  "wordpress_org": "https://wordpress.org/plugins/generateblocks/",
  "advisories_url": "https://wpsec.com/vuln/plugin/generateblocks/",
  "attacksurface": "https://attacksurface.wpsec.com/plugin/generateblocks"
 },
 "type": "XSS",
 "cwe": [
  "CWE-79"
 ],
 "cve": [],
 "cvss": {
  "version": "3.1",
  "score": 6.4,
  "vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:L/I:L/A:N",
  "severity": "Medium"
 },
 "affected": {
  "ranges": [
   {
    "from": "2.0.0",
    "from_inclusive": true,
    "to": "2.5.1",
    "to_inclusive": false
   }
  ],
  "text": [
   "from 2.0.0 before 2.5.1"
  ]
 },
 "introduced_in": "2.0.0",
 "fixed_in": "2.5.1",
 "remediation": "Update to 2.5.1 or later.",
 "fix_released": "2026-11-10T14:44:34+00:00",
 "published": "2026-11-12T17:52:14+00:00",
 "updated": "2026-11-12T17:09:43.818045+00:00",
 "also_published_as": null,
 "references": [
  "https://wpsec.com/vuln/WPSEC-2026-2915/",
  "https://plugins.svn.wordpress.org/generateblocks/tags/2.5.1/",
  "https://wordpress.org/plugins/generateblocks/"
 ],
 "attacksurface_url": "https://attacksurface.wpsec.com/plugin/generateblocks",
 "source": "WPSec",
 "license": {
  "name": "CC BY 4.0",
  "url": "https://creativecommons.org/licenses/by/4.0/"
 },
 "usage": {
  "plugin": "Low",
  "affected_versions": "Low",
  "as_of": "2026-11-12"
 }
}