{"api_version":"1","generated_at":"2026-10-16T08:08:57+00:00","cve":"CVE-2026-97339","urls":{"html":"https://cve.report/CVE-2026-97339","api":"https://cve.report/api/cve/CVE-2026-97339.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-97339","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-97339"},"summary":{"title":"Complianz GDPR/CCPA Cookie Consent Banner <= 7.5.5 - Unauthenticated Stored Cross-Site Scripting via Comment Content via yotu-wp Cookie-Blocker Filter","description":"The Complianz GDPR/CCPA Cookie Consent Banner plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Content via yotu-wp Cookie-Blocker Filter in all versions up to, and including, 7.5.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 exploit bypasses WordPress's wp_kses comment sanitization because the payload uses only allow-listed tags and hides executable tokens inside quoted attribute values as plain text; the XSS is only realized when Complianz's own output-buffer filter performs str_replace() rewrites that break out of the attribute context, and requires the comment to be approved before it executes for visitors.","state":"PUBLISHED","assigner":"Wordfence","published_at":"2026-10-16 04:18:44","updated_at":"2026-10-16 04:18:44"},"problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":[{"version":"3.1","source":"security@wordfence.com","type":"Primary","score":"7.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"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"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.2","severity":"HIGH","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","data":{"baseScore":7.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/class-cookie-blocker.php#L458","name":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/class-cookie-blocker.php#L458","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/integrations/plugins/yotu-wp.php#L7","name":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/integrations/plugins/yotu-wp.php#L7","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/class-cookie-blocker.php#L828","name":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/class-cookie-blocker.php#L828","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/integrations/plugins/yotu-wp.php#L18","name":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/integrations/plugins/yotu-wp.php#L18","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://plugins.trac.wordpress.org/changeset/3743098/complianz-gdpr/trunk/integrations/plugins/yotu-wp.php","name":"https://plugins.trac.wordpress.org/changeset/3743098/complianz-gdpr/trunk/integrations/plugins/yotu-wp.php","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3c12e65c-eedf-4fc2-977a-7a07219ee1c2?source=cve","name":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3c12e65c-eedf-4fc2-977a-7a07219ee1c2?source=cve","refsource":"security@wordfence.com","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-97339","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-97339","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"complianz","product":"Complianz GDPR/CCPA Cookie Consent Banner","version":"affected 7.5.5 semver","platforms":[]}],"timeline":[{"source":"CNA","time":"2026-09-24T12:38:13.000Z","lang":"en","value":"Vendor Notified"},{"source":"CNA","time":"2026-10-15T15:15:17.000Z","lang":"en","value":"Disclosed"}],"solutions":[],"workarounds":[],"exploits":[],"credits":[{"source":"CNA","value":"theviper17y","lang":"en"}],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":null,"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Complianz GDPR/CCPA Cookie Consent Banner","vendor":"complianz","versions":[{"lessThanOrEqual":"7.5.5","status":"affected","version":"0","versionType":"semver"}]}],"credits":[{"lang":"en","type":"finder","value":"theviper17y"}],"descriptions":[{"lang":"en","value":"The Complianz GDPR/CCPA Cookie Consent Banner plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Content via yotu-wp Cookie-Blocker Filter in all versions up to, and including, 7.5.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 exploit bypasses WordPress's wp_kses comment sanitization because the payload uses only allow-listed tags and hides executable tokens inside quoted attribute values as plain text; the XSS is only realized when Complianz's own output-buffer filter performs str_replace() rewrites that break out of the attribute context, and requires the comment to be approved before it executes for visitors."}],"metrics":[{"cvssV3_1":{"baseScore":7.2,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N","version":"3.1"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-79","description":"CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","lang":"en","type":"CWE"}]}],"providerMetadata":{"dateUpdated":"2026-10-16T03:38:41.150Z","orgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","shortName":"Wordfence"},"references":[{"url":"https://www.wordfence.com/threat-intel/vulnerabilities/id/3c12e65c-eedf-4fc2-977a-7a07219ee1c2?source=cve"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/integrations/plugins/yotu-wp.php#L18"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/integrations/plugins/yotu-wp.php#L7"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/class-cookie-blocker.php#L828"},{"url":"https://plugins.trac.wordpress.org/browser/complianz-gdpr/tags/7.5.5/class-cookie-blocker.php#L458"},{"url":"https://plugins.trac.wordpress.org/changeset/3743098/complianz-gdpr/trunk/integrations/plugins/yotu-wp.php"}],"timeline":[{"lang":"en","time":"2026-09-24T12:38:13.000Z","value":"Vendor Notified"},{"lang":"en","time":"2026-10-15T15:15:17.000Z","value":"Disclosed"}],"title":"Complianz GDPR/CCPA Cookie Consent Banner <= 7.5.5 - Unauthenticated Stored Cross-Site Scripting via Comment Content via yotu-wp Cookie-Blocker Filter"}},"cveMetadata":{"assignerOrgId":"b15e7b5b-3da4-40ae-a43c-f7aa60e62599","assignerShortName":"Wordfence","cveId":"CVE-2026-97339","datePublished":"2026-10-16T03:38:41.150Z","dateReserved":"2026-09-24T12:23:08.519Z","dateUpdated":"2026-10-16T03:38:41.150Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-10-16 04:18:44","lastModifiedDate":"2026-10-16 04:18:44","problem_types":["CWE-79","CWE-79 CWE-79 Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')"],"metrics":{"cvssMetricV31":[{"source":"security@wordfence.com","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}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"97339","Ordinal":"1","Title":"Complianz GDPR/CCPA Cookie Consent Banner <= 7.5.5 - Unauthentic","CVE":"CVE-2026-97339","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"97339","Ordinal":"1","NoteData":"The Complianz GDPR/CCPA Cookie Consent Banner plugin for WordPress is vulnerable to Stored Cross-Site Scripting via Comment Content via yotu-wp Cookie-Blocker Filter in all versions up to, and including, 7.5.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 exploit bypasses WordPress's wp_kses comment sanitization because the payload uses only allow-listed tags and hides executable tokens inside quoted attribute values as plain text; the XSS is only realized when Complianz's own output-buffer filter performs str_replace() rewrites that break out of the attribute context, and requires the comment to be approved before it executes for visitors.","Type":"Description","Title":"Complianz GDPR/CCPA Cookie Consent Banner <= 7.5.5 - Unauthentic"}]}}}