☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Complianz logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.2 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-83561

CVE-2026-83561 Cross-Site Scripting in Complianz
📅 PUBLISHED: 2026-09-18 00:00 UTC 🔄 UPDATED: 2026-09-22 09:08 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.29%
👁️
0.29% probability
7.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Country: Netherlands License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.2
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: N Availability None
7.2
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-83561 is a stored cross-site scripting (XSS) vulnerability in the Complianz GDPR/CCPA Cookie Consent Banner plugin for WordPress, affecting all versions up to and including 7.5.4. The flaw is reachable by unauthenticated attackers who inject script content through comment content that is later rendered inside an Elementor Cookie Blocker regex path, requiring the site to run Elementor and to have the Twitter or Facebook cookie/script blocker enabled, plus administrator approval of the malicious comment. Impact is scoped to client-side script execution in victim browsers (CVSS 7.2), enabling session theft, credential phishing, and drive-by activity against authenticated users.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Technical Analysis

The NVD description characterizes this issue as a Stored Cross-Site Scripting flaw (CWE-79) rooted in "insufficient input sanitization and output escaping." The injection vector is comment content — user-supplied text submitted through the WordPress comment system. The execution context is the Elementor Cookie Blocker Regex within Complianz.

The attack mechanism class is well understood for this category:

  1. Input stage — Comment content is accepted by WordPress without effective sanitization for the specific downstream sink.
  2. Storage stage — The content persists in the site database as a comment record.
  3. Execution stage — When the Elementor Cookie Blocker applies its regex processing (for the Twitter or Facebook blocker configuration), the stored comment text is incorporated into the page in a context where it is not output-escaped, allowing injected markup/script to be interpreted by the browser instead of rendered as inert text.

The general weakness is the classic mismatch between a "safe" comments pipeline and an unconventional secondary render sink (a regex-driven cookie blocker rule set) that does not re-apply the escaping the primary comments pipeline relied upon. This is the same architectural failure mode repeatedly observed in WordPress plugin ecosystems: sanitization is applied to the "obvious" output path (the comment template) but not to auxiliary consumers of the same stored data.

Constraint model

The description explicitly lists three preconditions:

  • Administrator approval of the attacker's comment (comments are moderated).
  • Elementor plugin installed.
  • Complianz configured with the Twitter or Facebook cookie/script blocker enabled.

These constraints materially reduce the exposed population but do not eliminate risk: many enterprise WordPress deployments pair Elementor with Complianz and use social-media cookie blockers for consent compliance.

CVSS interpretation

The supplied vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N.

  • AV:N — reachable over the network (web comment submission).
  • AC:L — no special conditions at the protocol/parsing level.
  • PR:N — attacker needs no WordPress account.
  • UI:N — scored as no user interaction for the attacker path; however, note the real-world secondary dependency of administrator comment approval, which the vector does not capture and which is a critical operational caveat.
  • S:C — the vulnerable component (cookie blocker rendering) affects resources in a different security scope (the visitor's browser/other users), hence scope changed.
  • C:L / I:L — limited confidentiality and integrity impact, consistent with client-side script execution in a shared page view.
  • A:N — no availability impact.

Insufficient technical detail available on: the exact regex pattern, the specific parameter name inside Complianz that holds the blocker rule, the exact function performing the regex substitution, and the precise escaping routine that is missing. No public PoC, Nuclei template, or exploit code exists in the provided data; all mechanism statements above are class-level.


Exploitation Scenarios

Because no PoC, exploit code, or Nuclei template accompanies this CVE, the attack chain below is inferred strictly from the vulnerability class (stored XSS) and the constraints stated verbatim in the NVD description. No specific function names, parameters, or file paths are fabricated.

Step 1 — Reconnaissance / target identification. The attacker identifies candidate WordPress sites satisfying all three preconditions. Passive detection is feasible: a site's HTML source reveals whether complianz assets are loaded, and many consent banners expose the configured social blockers (Twitter / Facebook) in the rendered banner or its network requests. The presence of Elementor is likewise observable from page markup/asset paths. The attacker builds a shortlist of sites where all three prerequisites appear satisfied. (Shodan/fingerprint-style queries against http.html for Complianz artifacts support this step.)

Step 2 — Triggering the flaw class. The attacker submits a normal-looking comment to a post, embedding script-bearing markup in the comment body. This requires no authentication (PR:N, AV:N). The submission lands in the WordPress comment moderation queue.

Step 3 — Execution via the secondary sink. The critical step is the administrator approving the comment. Once approved, the stored comment content is consumed by the Elementor Cookie Blocker's regex processing path. Because the description states output escaping is insufficient in that context, the injected script is emitted into the page unescaped and executes in the browser of any visitor whose page load passes through the affected cookie-blocker rendering logic. In other words, the payload is not limited to the post where the comment was left — it can execute "whenever a user accesses an injected page."

Step 4 — Post-exploitation impact. In the victim's browser session, executed JavaScript can: read and exfiltrate session cookies and CSRF tokens; issue authenticated requests against the WordPress admin (if the victim is logged in); inject phishing overlays; redirect to attacker infrastructure; or load further malicious scripts. Because the payload is stored, the attacker can target high-value users (e.g., editors, shop managers) by drawing them to an affected page, and can persist the payload indefinitely until the comment is removed and the underlying sink is fixed.

Reliability caveat. Exploitation is dependent on moderator approval and configuration state; an attacker cannot guarantee success against an arbitrary target. Mass, indiscriminate exploitation is therefore unlikely. Targeted exploitation against a known-configured site (Steps 1 and 2 pre-validated) is the realistic threat model.


Impact Assessment

Business impact. A stored XSS with S:C allows execution of attacker-controlled script in the origin/security scope of the affected site. The business consequences are: theft of user sessions, account takeover of privileged WordPress users, deflection of traffic to phishing pages, and damage to brand/trust for sites whose cookie-consent banner is precisely the thing being abused — an especially sensitive area given GDPR/CCPA compliance expectations.

Affected systems. WordPress sites running Complianz <= 7.5.4, with Elementor installed, and with the Twitter or Facebook cookie/script blocker enabled. Sites meeting only one or two of the three conditions are not exploitable per the description.

Blast radius. Bounded by the three preconditions and the requirement for admin approval. Within a qualifying site, the blast radius includes every visitor to an "injected page," not merely the comment author or the approving administrator — this is what drives S:C and the 7.2 base score.

CVSS subscores referenced. AV:N, AC:L, PR:N, UI:N, S:C, C:L, I:L, A:N — score 7.2 (High). No EPSS score is available; it is not fabricated here. The CVE is not listed in CISA KEV as of this report.

Exploit maturity. No public PoC, no Nuclei template, no exploit code, no observed in-the-wild campaigns in the supplied data. Exploit code maturity is best assessed as Theoretical / None public, with the class-level techniques (stored XSS via comment fields + secondary render sink) being widely known and trivially adaptable by a motivated actor.


Detection Guidance

The detections below target the class (stored XSS via comment content / unescaped markup reaching a cookie-blocker render path) because no exact parameter or sink name is provided. Administrators should tune wildcard/regex components to their environment.

Sigma Rule

title: Suspicious Markup in WordPress Comment Content (Complianz/Elementor Stored XSS Vector)
id: 9c1f4a2e-7b3d-4e6a-8f21-0c5d2b6e9a10
status: experimental
description: Detects comment submissions containing script/HTML markup consistent with attempts to abuse the Complianz Elementor Cookie Blocker rendering path (CVE-2026-83561).
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2026-83561
author: valtersit.com Threat Intelligence
date: 2026/01/01
tags:
  - attack.t1059.007
  - attack.t1189
logsource:
  product: wordpress
  service: web
detection:
  selection_method:
    cs-method: POST
  selection_endpoint:
    cs-uri-query|contains:
      - 'wp-comments-post.php'
      - 'comment_post'
  selection_payload:
    request_body|re|i:
      - '(?i)<\s*script'
      - '(?i)javascript:'
      - '(?i)on(error|load|click|mouseover)\s*='
      - '(?i)<\s*(iframe|svg|img)[^>]*(onerror|onload)'
  condition: selection_method and selection_endpoint and selection_payload
falsepositives:
  - Legitimate users pasting code snippets into comments
  - Security researchers testing their own blogs
level: medium

YARA Rule

rule CVE_2026_83561_Stored_XSS_Comment_Payload
{
    meta:
        author      = "valtersit.com Threat Intelligence"
        description = "Detects HTML/JS injection content consistent with the Complianz/Elementor stored XSS vector"
        reference   = "https://nvd.nist.gov/vuln/detail/CVE-2026-83561"
        cve         = "CVE-2026-83561"
        date        = "2026-01-01"
        severity    = "high"

    strings:
        $s1 = "<script" nocase
        $s2 = "javascript:" nocase
        $s3 = "onerror=" nocase
        $s4 = "onload=" nocase
        $s5 = "<svg" nocase
        $s6 = "<iframe" nocase
        $s7 = "complianz" nocase
        $s8 = "cmplz-" nocase
        $s9 = "elementor" nocase

    condition:
        (2 of ($s1,$s2,$s3,$s4,$s5,$s6)) or
        (1 of ($s1,$s2,$s3,$s4,$s5,$s6) and 1 of ($s7,$s8,$s9))
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-83561 Possible Complianz/Elementor Stored XSS via Comment Submission"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"wp-comments-post.php"; http.request_body; content:"<script"; nocase; classtype:web-application-attack; reference:cve,2026-83561; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-83561; sid:90083561; rev:1;)

alert http any any -> any any (msg:"CVE-2026-83561 Possible Complianz/Elementor Stored XSS via Comment Submission (event handler)"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"wp-comments-post.php"; http.request_body; pcre:"/(onerror|onload|onmouseover)\\s*=/i"; classtype:web-application-attack; reference:cve,2026-83561; sid:90083562; rev:1;)

Elastic Detection

sequence by source.ip with maxspan=5m
  [ network where http.request.method == "POST"
      and url.path : "wp-comments-post.php"
      and http.request.body : ("<script" or "javascript:" or "onerror=") ]
  [ network where http.response.status_code == 302
      and url.path : "wp-comments-post.php"
      and http.response.headers.set_cookie : "*comment_author*" ]

Analyst note: the second event approximates the WordPress post-comment redirect that sets comment cookies. Adjust field names to your Elastic data model (ECS) if your ingest pipeline maps differently.

Splunk SPL Query

index=web sourcetype=access_combined cs_method=POST uri_path="*/wp-comments-post.php*"
| rex field=form_data "(?i)(?<script_tag><script[^>]*>)"
| rex field=form_data "(?i)(?<event_handler>on(error|load|mouseover|click)\s*=)"
| rex field=form_data "(?i)(?<js_uri>javascript:)"
| where isnotnull(script_tag) OR isnotnull(event_handler) OR isnotnull(js_uri)
| stats count values(script_tag) values(event_handler) values(js_uri) by src_ip, uri_path
| sort - count

If your Splunk deployment does not ingest POST body/form data, supplement by monitoring for approvals of comments whose body contains the same patterns via the WordPress database or audit log index.

Wazuh OSSEC Rule

<group name="web,appsec,cve-2026-83561,">
  <rule id="10083561" level="10">
    <if_sid>31100</if_sid>
    <id>^31103$|^31101$</id>
    <match>wp-comments-post.php</match>
    <match>script|javascript:|onerror=|onload=</match>
    <description>CVE-2026-83561: Suspicious script markup in WordPress comment POST (possible stored XSS injection).</description>
    <mitre>
      <id>T1059.007</id>
    </mitre>
    <group>web_attack,</group>
  </rule>

  <rule id="10083562" level="12">
    <if_sid>10083561</if_sid>
    <match>complianz|cmplz-|elementor</match>
    <description>CVE-2026-83561: Comment script payload co-occurring with Complianz/Elementor references — high-confidence exploitation attempt.</description>
    <mitre>
      <id>T1059.007</id>
    </mitre>
    <group>web_attack,</group>
  </rule>
</group>

Rule IDs and parent SIDs should be validated against your local Wazuh decoder/rule set; 31100/31101/31103 are representative web-access parents and may require adjustment.


Mitigation & Patch Guidance

Patch confidence: 2/4 — CLAIMED. Only the NVD record asserts that a fix exists; there is no independent vendor advisory, no fixed-version identifier, and no commit reference in the supplied data. Treat the patch as unverified and validate against the vendor before relying on it.

1) Immediate mitigations (while patch status is unconfirmed)

  • Disable the Twitter and Facebook cookie/script blockers in Complianz configuration. Per the description, exploitation requires one of these to be enabled — disabling them removes the vulnerable render path.
  • Tighten comment moderation. Enable "Comment must be manually approved" and restrict commenting to registered users where business-appropriate. Since exploitation requires admin approval, strict review of comment bodies for markup is an effective control.
  • Enforce a WAF rule to reject comment POST bodies containing <script, javascript:, or inline event handlers (onerror=, onload=) unless explicitly expected.
  • Reduce privileged comment exposure — require re-authentication before approval actions.

2) Patch / upgrade steps

  • Confirm whether a fixed version exists on the vendor's official Complianz channel (WordPress.org plugin repository / vendor site) before upgrading. Update from <= 7.5.4 to the earliest version the vendor explicitly documents as fixing CVE-2026-83561.
  • If no vendor fix is published, keep the mitigations above in force and track the vendor advisory for a definitive version string.
  • After upgrading, re-verify Elementor and Complianz compatibility and re-enable cookie blockers only if the vendor confirms the sink is escaped.

3) Long-term hardening

  • Adopt defense-in-depth output encoding for all consumers of stored content — including auxiliary regex/cookie-blocker render paths — not just the primary comment template.
  • Add CSP with script-src/object-src restrictions to blunt stored XSS even if a sink is missed.
  • Implement automated plugin inventory to detect unmaintained or version-vulnerable WordPress plugins and to correlate Elementor + Complianz configurations.
  • Maintain audit logging on comments and approvals, and alert on approvals of scripts-containing comments (see detection section).
  • Add CVE monitoring and subscribe to the vendor's security channel to reduce the window between "claimed" and "verified" patch states.

References

  1. NVD — CVE-2026-83561: https://nvd.nist.gov/vuln/detail/CVE-2026-83561
  2. CWE-79 — Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting'): https://cwe.mitre.org/data/definitions/79.html
  3. FIRST.org EPSS (no score currently assigned for this CVE): https://www.first.org/epss/
  4. CISA Known Exploited Vulnerabilities Catalog (CVE-2026-83561 not listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
  5. Complianz plugin project page / changelog (verify fixed version before relying on patch status — vendor channel, not independently confirmed in this data)

Threat actor / exploit-in-the-wild note: No exploit code, Nuclei template, PoC, EPSS score, or KEV listing is associated with CVE-2026-83561 in the provided intelligence. There is no evidence of active exploitation campaigns. This report describes a class-level attack chain inferred from the stored-XSS vulnerability class and the constraints stated in the NVD description; missing implementation specifics are explicitly flagged as "insufficient technical detail available" rather than fabricated.

💣 PoC CODE AVAILABLE

Exploit code for this CVE is tracked in our database. Access poc_code via API Pro.

[ API_PRO ] →
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-83561/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.