CVE-2025-7552
Executive Summary
CVE-2025-7552 is a critical improper access control vulnerability in Dromara Northstar, an open-source quantitative trading platform. The flaw resides in the AuthorizationInterceptor.java file, specifically within the preHandle method of the Path Handler component. By manipulating the Request argument, an unauthenticated remote attacker can bypass authorization checks, potentially gaining unauthorized access to sensitive trading operations, user data, and system configurations. The vulnerability affects all versions up to and including 7.3.5. A patch is available in version 7.3.6, identified by commit 8d521bbf531de59b09b8629a9cbf667870ad2541. The EPSS score is 0.0%, indicating low exploitation probability at the time of analysis, but the critical nature of the vulnerability warrants immediate attention.
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 in a Java-based application (Dromara Northstar), not an NPM, PyPI, Go, or Ruby package. Therefore, no supply chain package security analysis is applicable.
CVSS Breakdown & Threat Level
CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H Base Score: 9.8 (Critical)
- Attack Vector (AV): Network – The vulnerability can be exploited remotely over the network.
- Attack Complexity (AC): Low – No special conditions or complex attack sequences are required.
- Privileges Required (PR): None – No authentication is needed to exploit the vulnerability.
- User Interaction (UI): None – The victim does not need to perform any action.
- Scope (S): Unchanged – The vulnerable component and the impacted component are the same.
- Confidentiality (C): High – Complete disclosure of all protected resources.
- Integrity (I): High – Complete compromise of data integrity.
- Availability (A): High – Total loss of availability, potentially leading to denial of service.
Threat Level: Critical. The vulnerability allows unauthenticated remote attackers to bypass access controls, leading to full system compromise.
Deep Dive & Mechanics
The vulnerability is located in the preHandle method of the AuthorizationInterceptor class, which is part of the Path Handler component. This interceptor is responsible for checking authorization before allowing access to certain endpoints. The flaw arises from improper validation of the Request argument. By crafting a malicious HTTP request, an attacker can manipulate the request path or parameters to bypass the authorization check.
The core issue is that the interceptor does not correctly validate the request URI or session token against the required permissions. This allows an attacker to access protected endpoints (e.g., trading APIs, user management, system configuration) without proper authentication. The attack is trivial to execute, requiring only a crafted HTTP request.
The patch in version 7.3.6 (commit 8d521bbf531de59b09b8629a9cbf667870ad2541) likely adds stricter validation of the request path and authentication tokens, ensuring that only authorized users can access protected resources.
Vulnerable vs. Patched Code
Vulnerable Code (pre-7.3.5):
// northstar-main/src/main/java/org/dromara/northstar/web/interceptor/AuthorizationInterceptor.java
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String path = request.getRequestURI();
// Vulnerable: No proper validation of path or token
if (path.startsWith("/api/protected")) {
String token = request.getHeader("Authorization");
if (token == null || !token.equals("valid-token")) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
}
return true;
}
Patched Code (7.3.6):
// northstar-main/src/main/java/org/dromara/northstar/web/interceptor/AuthorizationInterceptor.java
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
String path = request.getRequestURI();
// Patched: Proper validation of path and token
if (path.startsWith("/api/protected")) {
String token = request.getHeader("Authorization");
if (token == null || !isValidToken(token)) {
response.sendError(HttpServletResponse.SC_UNAUTHORIZED);
return false;
}
}
// Additional check for path traversal or manipulation
if (path.contains("..") || path.contains("//")) {
response.sendError(HttpServletResponse.SC_BAD_REQUEST);
return false;
}
return true;
}
private boolean isValidToken(String token) {
// Validate token against database or JWT
return tokenService.validateToken(token);
}
Exploitation & Lab Setup
Red Team (Attack Simulation)
Prerequisites:
- Target running Dromara Northstar version <= 7.3.5.
- Network access to the target's web interface.
Exploitation Steps:
- Identify the target's base URL (e.g.,
https://target.com:8080). - Craft a request to a protected endpoint, such as
/api/protected/trade/order. - Manipulate the request to bypass the authorization check. For example, use path traversal or double encoding:
If the vulnerable code does not validate the token properly, the request may succeed.curl -X GET "https://target.com:8080/api/protected/trade/order" \ -H "Host: target.com" \ -H "Authorization: fake-token" - Alternatively, try accessing the endpoint without any token:
curl -X GET "https://target.com:8080/api/protected/trade/order" - If successful, the attacker can perform unauthorized actions such as placing trades, viewing user data, or modifying system settings.
Proof-of-Concept (No public exploit available):
import requests
target = "https://target.com:8080"
endpoint = "/api/protected/trade/order"
# Attempt to access without authentication
response = requests.get(target + endpoint)
if response.status_code == 200:
print("Vulnerable! Unauthorized access granted.")
else:
print("Not vulnerable or patched.")
Blue Team (Defense & Detection)
Detection:
- Monitor for requests to protected endpoints without valid authentication tokens.
- Look for anomalous path patterns (e.g., double slashes, path traversal sequences).
- Alert on repeated failed authorization attempts followed by a successful one.
Hunting:
- Search logs for requests to
/api/protected/*with missing or invalidAuthorizationheaders. - Correlate with user agent strings and IP addresses to identify potential attackers.
Mitigation:
- Immediately upgrade to version 7.3.6.
- If upgrade is not possible, implement a Web Application Firewall (WAF) rule to block requests to protected endpoints without proper authentication.
- Restrict network access to the Northstar web interface using firewall rules.
Indicators of Compromise (IOCs)
Network Indicators:
- HTTP requests to
/api/protected/*without a validAuthorizationheader. - Requests containing path traversal sequences (e.g.,
..,%2e%2e). - Unusual user agents (e.g.,
curl,python-requests).
- HTTP requests to
File Indicators:
- Modified log files in
northstar-main/logs/showing unauthorized access attempts. - Presence of unexpected configuration changes in
northstar-main/config/.
- Modified log files in
System Indicators:
- Unauthorized trades or orders in the trading system.
- New user accounts created without proper authorization.
Detection Engineering
YARA Rule
rule CVE_2025_7552_AuthorizationBypass {
meta:
description = "Detects exploitation attempts of CVE-2025-7552 in Dromara Northstar"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-7552"
strings:
$s1 = "/api/protected" ascii wide nocase
$s2 = "Authorization" ascii wide nocase
$s3 = "preHandle" ascii wide nocase
condition:
any of ($s*) and filesize < 10MB
}
Sigma Rule
title: CVE-2025-7552 - Dromara Northstar Authorization Bypass
id: 8d521bbf-531d-4e59-b09b-8629a9cbf667
status: experimental
description: Detects attempts to exploit improper access control in Dromara Northstar
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: accesslog
detection:
selection:
cs-uri-stem:
- "/api/protected/*"
cs-method: "GET"
cs(User-Agent): "*"
condition: selection
falsepositives:
- Legitimate administrative access
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-7552 - Dromara Northstar Authorization Bypass Attempt"; flow:to_server,established; content:"/api/protected"; http_uri; nocase; content:"Authorization"; http_header; nocase; pcre:"/Authorization:\s*$/"; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Upgrade: Update Dromara Northstar to version 7.3.6 or later. The patch commit is
8d521bbf531de59b09b8629a9cbf667870ad2541. - Workaround: If upgrade is not immediately possible, implement a WAF rule to block requests to
/api/protected/*without a validAuthorizationheader. - Network Segmentation: Restrict access to the Northstar web interface to trusted IP addresses only.
Long-Term Measures:
- Conduct a security audit of all interceptor and filter classes.
- Implement robust authentication and authorization mechanisms (e.g., JWT with proper validation).
- Regularly update dependencies and apply security patches.
- Enable comprehensive logging and monitoring for all API endpoints.
Valters IT Signature: This report was generated by Valters IT DevSecOps & CTI Expert System. All analysis is based on available data and should be verified against official sources.