← Back to CVE Explorer

CVE-2026-120540

Full vulnerability record from the local CVENow database.

Description

The iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 3.13.6. This is due to the way iubendaParser::parse_comments() re-processes HTML inside IUB-COOKIE-BLOCK markers through the bundled simple_html_dom parser after WordPress has already KSES-filtered the saved comment: simple_html_dom's remove_noise() stores <code> bodies under a deterministic key ('___noise___ 1000') and restore_noise() later substitutes any matching substring back into attribute values WITHOUT re-escaping, allowing a quote-breaking payload stashed in an allowed <code> element to be injected into an allowed <abbr title="___noise___ 1000"> attribute at render time. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page, after an administrator approves the first (otherwise moderated) comment under WordPress's default comment_previously_approved setting.

Severity
HIGH
CVSS score
7.2 (v3.1)
Vulnerability status
Deferred
Source identifier
Published
2026-11-07 03:17:03.690000
Last modified
2026-11-07 03:17:03.827000
View original CVE JSON
{
  "id": "CVE-2026-120540",
  "sourceIdentifier": "[email protected]",
  "published": "2026-11-07T03:17:03.690",
  "lastModified": "2026-11-07T03:17:03.827",
  "vulnStatus": "Deferred",
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "The iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more plugin for WordPress is vulnerable to Stored Cross-Site Scripting in versions up to, and including, 3.13.6. This is due to the way iubendaParser::parse_comments() re-processes HTML inside IUB-COOKIE-BLOCK markers through the bundled simple_html_dom parser after WordPress has already KSES-filtered the saved comment: simple_html_dom's remove_noise() stores <code> bodies under a deterministic key ('___noise___ 1000') and restore_noise() later substitutes any matching substring back into attribute values WITHOUT re-escaping, allowing a quote-breaking payload stashed in an allowed <code> element to be injected into an allowed <abbr title=\"___noise___ 1000\"> attribute at render time. This makes it possible for unauthenticated attackers to inject arbitrary web scripts in pages that will execute whenever a user accesses an injected page, after an administrator approves the first (otherwise moderated) comment under WordPress's default comment_previously_approved setting."
    }
  ],
  "affected": [
    {
      "source": "[email protected]",
      "affectedData": [
        {
          "vendor": "iubenda",
          "product": "iubenda | All-in-one Compliance for GDPR / CCPA Cookie Consent + more",
          "defaultStatus": "unaffected",
          "versions": [
            {
              "version": "0",
              "lessThanOrEqual": "3.13.6",
              "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:N/S:C/C:L/I:L/A:N",
          "baseScore": 7.2,
          "baseSeverity": "HIGH",
          "attackVector": "NETWORK",
          "attackComplexity": "LOW",
          "privilegesRequired": "NONE",
          "userInteraction": "NONE",
          "scope": "CHANGED",
          "confidentialityImpact": "LOW",
          "integrityImpact": "LOW",
          "availabilityImpact": "NONE"
        },
        "exploitabilityScore": 3.9,
        "impactScore": 2.7
      }
    ]
  },
  "weaknesses": [
    {
      "source": "[email protected]",
      "type": "Primary",
      "description": [
        {
          "lang": "en",
          "value": "CWE-79"
        }
      ]
    }
  ],
  "references": [
    {
      "url": "https://plugins.trac.wordpress.org/browser/iubenda-cookie-law-solution/tags/3.13.5/iubenda-cookie-class/iubenda.class.php#L825",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/iubenda-cookie-law-solution/tags/3.13.5/iubenda-cookie-class/simple_html_dom.php#L2199",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/iubenda-cookie-law-solution/tags/3.13.5/iubenda-cookie-class/simple_html_dom.php#L2231",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/iubenda-cookie-law-solution/tags/3.13.5/iubenda-cookie-class/simple_html_dom.php#L471",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/iubenda-cookie-law-solution/tags/3.13.5/iubenda_cookie_solution.php#L832",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/browser/iubenda-cookie-law-solution/tags/3.13.5/iubenda_cookie_solution.php#L857",
      "source": "[email protected]"
    },
    {
      "url": "https://plugins.trac.wordpress.org/changeset?reponame=&old=3779727%40iubenda-cookie-law-solution&new=3779727%40iubenda-cookie-law-solution",
      "source": "[email protected]"
    },
    {
      "url": "https://www.wordfence.com/threat-intel/vulnerabilities/id/fc26d5a0-86fc-48b5-af8f-73dd9a7f2b39?source=cve",
      "source": "[email protected]"
    }
  ]
}