CVE-2025-51533
Executive Summary
CVE-2025-51533 is an Insecure Direct Object Reference (IDOR) vulnerability in Sage DPW (Digital Payment Works) versions v2024_12_004 and below. This flaw allows an unauthenticated attacker to access internal forms by sending a crafted GET request, bypassing authorization checks. The vulnerability has a CVSS score of 5.3 (Medium) and an EPSS score of 0.0%, indicating low exploitation likelihood currently. However, the lack of a known patch and the potential for data exposure make this a significant concern for organizations using Sage DPW.
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.
No signup required
Supply Chain & Package Security
This vulnerability is not related to NPM, PyPI, Go, or Ruby packages. It affects a proprietary Sage application (Sage DPW). Organizations should verify their Sage DPW deployment version and apply any vendor-supplied updates or mitigations.
CVSS Breakdown & Threat Level
- CVSS Score: 5.3 (Medium)
- Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
- Attack Vector: Network
- Attack Complexity: Low
- Privileges Required: None
- User Interaction: None
- Scope: Unchanged
- Confidentiality Impact: Low
- Integrity Impact: None
- Availability Impact: None
The threat level is Medium due to the low complexity and no authentication requirement, but the impact is limited to low confidentiality loss.
Deep Dive & Mechanics
The vulnerability is an Insecure Direct Object Reference (IDOR) in Sage DPW. The application fails to properly validate user authorization when accessing internal forms via GET requests. An attacker can enumerate or guess form identifiers (e.g., form IDs, URLs) and directly access them without proper authentication or authorization checks.
Root Cause: The application does not enforce access controls on internal form endpoints, allowing direct access via crafted GET requests.
Attack Vector: An unauthenticated attacker sends a GET request to a vulnerable endpoint, such as /internal/form?id=123, and receives sensitive data without proper authorization.
Impact: Unauthorized access to internal forms, potentially exposing sensitive business data, payment information, or configuration details.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code pattern is described conceptually.
Vulnerable Code (Conceptual):
@app.route('/internal/form')
def get_form():
form_id = request.args.get('id')
# No authorization check
form_data = db.query("SELECT * FROM forms WHERE id = ?", form_id)
return jsonify(form_data)
Patched Code (Conceptual):
@app.route('/internal/form')
@login_required
def get_form():
form_id = request.args.get('id')
if not current_user.has_access(form_id):
abort(403)
form_data = db.query("SELECT * FROM forms WHERE id = ?", form_id)
return jsonify(form_data)
The patched version adds authentication (@login_required) and authorization checks (current_user.has_access(form_id)).
Exploitation & Lab Setup
Red Team
Prerequisites:
- Target running Sage DPW v2024_12_004 or below.
- Network access to the application.
Exploitation Steps:
- Identify internal form endpoints (e.g., via directory brute-forcing or known patterns).
- Send a crafted GET request to access a form without authentication:
curl -X GET "http://target.com/internal/form?id=1" - If successful, the response will contain form data. Enumerate form IDs to access more data.
Automated Exploitation (Conceptual):
import requests
target = "http://target.com"
for form_id in range(1, 100):
r = requests.get(f"{target}/internal/form?id={form_id}")
if r.status_code == 200:
print(f"Accessed form {form_id}: {r.text}")
Blue Team
Detection:
- Monitor for unusual GET requests to
/internal/formor similar endpoints. - Look for requests without proper session tokens or authentication headers.
- Alert on multiple sequential requests to form endpoints from a single IP.
Mitigation:
- Implement proper authentication and authorization checks on all internal endpoints.
- Use role-based access control (RBAC) to restrict form access.
- Apply input validation and parameterized queries to prevent IDOR.
Indicators of Compromise (IOCs)
- Network IOCs:
- GET requests to
/internal/form?id=<number>from unauthorized IPs. - Repeated requests to form endpoints without authentication.
- GET requests to
- Log IOCs:
- HTTP 200 responses to
/internal/formwithout prior authentication. - Access logs showing direct form access without session tokens.
- HTTP 200 responses to
- File IOCs:
- Unauthorized access to form data in application logs.
Detection Engineering
YARA Rule
rule CVE_2025_51533_IDOR_Sage_DPW {
meta:
description = "Detects exploitation attempts of CVE-2025-51533 IDOR in Sage DPW"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-51533"
strings:
$s1 = "/internal/form?id=" ascii wide nocase
$s2 = "GET /internal/form" ascii wide nocase
condition:
any of them
}
Sigma Rule
title: CVE-2025-51533 - Sage DPW IDOR Exploitation Attempt
id: 12345678-1234-1234-1234-123456789012
status: experimental
description: Detects GET requests to Sage DPW internal form endpoints without authentication
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-stem: '/internal/form'
cs-uri-query: 'id=*'
condition: selection
falsepositives:
- Legitimate authenticated access (should be rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-51533 - Sage DPW IDOR Exploitation Attempt"; flow:to_server; http.method; content:"GET"; http.uri; content:"/internal/form?id="; nocase; classtype:attempted-recon; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Isolate the Sage DPW application from untrusted networks if possible.
- Implement a Web Application Firewall (WAF) rule to block requests to
/internal/formwithout proper authentication. - Monitor logs for unauthorized access attempts.
Long-term Fix:
- Apply vendor patch when available.
- Implement proper authentication and authorization checks on all internal endpoints.
- Conduct a security audit of the application for similar IDOR vulnerabilities.
- Use parameterized queries and input validation.
Workaround:
- Restrict access to the
/internal/formendpoint via network ACLs or reverse proxy rules.
Valters IT
Securing Digital Frontiers
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.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.