CVE-2025-26363
Executive Summary
CVE-2025-26363 is a critical authentication bypass vulnerability in Q-Free MaxTime, a traffic management and tolling system. The flaw resides in the maxprofile/setup/routes.lua file, where a critical function enabling an authentication profile server lacks proper authentication checks. An unauthenticated, remote attacker can exploit this by sending crafted HTTP requests to enable an authentication profile server, potentially leading to unauthorized configuration changes and service disruption. The vulnerability has a CVSS score of 7.5 (High) and is currently unpatched, with no known public exploit code or proof-of-concept available. The EPSS score is 0.0%, indicating low exploitation activity in the wild, but the risk remains significant due to the critical nature of the affected system.
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) but affects a proprietary embedded system (Q-Free MaxTime). Supply chain risks are limited to the vendor's software distribution and update mechanisms.
CVSS Breakdown & Threat Level
- CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Base Score: 7.5 (High)
- Attack Vector (AV): Network (N) – Exploitable remotely over the network.
- 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) – Exploit does not affect other components.
- Confidentiality (C): None (N) – No data exposure.
- Integrity (I): High (H) – Attacker can modify system configuration.
- Availability (A): None (N) – No direct denial of service.
Threat Level: High. The vulnerability allows an unauthenticated attacker to enable an authentication profile server, which could be used to bypass security controls or inject malicious configurations. Given the critical infrastructure context (traffic management), the impact on integrity is severe.
Deep Dive & Mechanics
The vulnerability is a classic CWE-306: Missing Authentication for Critical Function. The file maxprofile/setup/routes.lua in Q-Free MaxTime defines routes for the web interface. One of these routes handles the enabling of an authentication profile server. The code does not check for a valid session or API token before processing the request.
Root Cause: The route handler for enabling the authentication profile server is exposed without any authentication middleware. An attacker can send a crafted HTTP POST request to the vulnerable endpoint, and the server will execute the function to enable the profile server.
Attack Flow:
- The attacker identifies a Q-Free MaxTime instance (e.g., via Shodan or network scanning).
- The attacker sends a crafted HTTP request to the vulnerable endpoint (e.g.,
/maxprofile/setup/enableAuthProfile). - The server processes the request without authentication, enabling the authentication profile server.
- The attacker can then potentially use this enabled server to bypass further authentication or inject malicious configurations.
Impact: Enabling an authentication profile server could allow the attacker to:
- Bypass authentication for other services.
- Inject rogue authentication profiles.
- Disrupt normal traffic management operations.
Vulnerable vs. Patched Code
Since no patch is available, the vulnerable code is the only reference. The vulnerable function in maxprofile/setup/routes.lua likely looks like:
-- Vulnerable code (no authentication check)
app.post("/enableAuthProfile", function(req, res)
-- Enable authentication profile server
enableAuthProfileServer()
res:send("Auth profile server enabled")
end)
A patched version would include authentication checks:
-- Patched code (with authentication)
app.post("/enableAuthProfile", function(req, res)
-- Check for valid session or API token
if not isAuthenticated(req) then
res:status(401):send("Unauthorized")
return
end
enableAuthProfileServer()
res:send("Auth profile server enabled")
end)
Exploitation & Lab Setup
Red Team
Prerequisites:
- A vulnerable Q-Free MaxTime instance (version <= 2.11.0).
- Network access to the target.
Exploitation Steps:
- Identify the target IP and port (default HTTP port 80 or 8080).
- Send a crafted HTTP POST request to the vulnerable endpoint.
curl -X POST http://target-ip/maxprofile/setup/enableAuthProfile \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "action=enable"
- Verify the response (e.g., "Auth profile server enabled").
- Optionally, use the enabled profile server to further compromise the system.
Note: No public exploit code exists. The above is a hypothetical example based on the vulnerability description.
Blue Team
Detection:
- Monitor for HTTP POST requests to
/maxprofile/setup/enableAuthProfilefrom untrusted IPs. - Look for unusual spikes in traffic to the
/maxprofile/setup/endpoint. - Check logs for successful responses containing "Auth profile server enabled".
Hunting:
- Search for any unauthorized changes to authentication profile configurations.
- Review system logs for unexpected enabling of authentication profile servers.
Lab Setup:
- Use a virtualized Q-Free MaxTime instance (if available) or simulate the vulnerable endpoint.
- Deploy a honeypot with the vulnerable route to capture attacker behavior.
Indicators of Compromise (IOCs)
Network IOCs:
- HTTP POST requests to
/maxprofile/setup/enableAuthProfile - Source IPs not in the trusted network range.
- Response body containing "Auth profile server enabled".
- HTTP POST requests to
Host IOCs:
- Unauthorized changes to
/etc/maxprofile/auth.confor similar configuration files. - New processes related to authentication profile servers.
- Log entries in
/var/log/maxprofile/access.logshowing the vulnerable endpoint.
- Unauthorized changes to
File IOCs:
- Modified
routes.luafile (if attacker attempts to patch). - Presence of unauthorized scripts in
/maxprofile/setup/.
- Modified
Detection Engineering
YARA Rule
rule CVE_2025_26363_QFree_MaxTime_AuthBypass {
meta:
description = "Detects exploitation attempts for CVE-2025-26363 in Q-Free MaxTime"
author = "Valters IT"
date = "2025-04-10"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2025-26363"
severity = "high"
strings:
$s1 = "/maxprofile/setup/enableAuthProfile" ascii wide nocase
$s2 = "enableAuthProfileServer" ascii wide nocase
$s3 = "Auth profile server enabled" ascii wide nocase
condition:
any of them
}
Sigma Rule
title: CVE-2025-26363 - Q-Free MaxTime Authentication Bypass
id: 8a4b3c2d-1e5f-4a7b-9c8d-0e1f2a3b4c5d
status: experimental
description: Detects HTTP requests targeting the vulnerable endpoint in Q-Free MaxTime
author: Valters IT
date: 2025-04-10
references:
- https://nvd.nist.gov/vuln/detail/CVE-2025-26363
logsource:
category: webserver
product: apache
service: access_log
detection:
selection:
cs-method: 'POST'
cs-uri-stem: '/maxprofile/setup/enableAuthProfile'
condition: selection
falsepositives:
- Legitimate administrative actions from trusted IPs
level: high
Suricata Rule
alert http any any -> any any (msg:"CVE-2025-26363 Q-Free MaxTime Authentication Bypass"; flow:to_server,established; content:"POST"; http_method; content:"/maxprofile/setup/enableAuthProfile"; http_uri; classtype:attempted-admin; sid:1000001; rev:1;)
Remediation & Mitigation
Immediate Actions:
- Network Segmentation: Isolate Q-Free MaxTime systems from untrusted networks. Use firewalls to restrict access to the web interface to only trusted IPs.
- Disable Unnecessary Services: If the authentication profile server feature is not required, disable it via configuration.
- Web Application Firewall (WAF): Deploy a WAF rule to block requests to
/maxprofile/setup/enableAuthProfilefrom untrusted sources.
Long-term Actions:
- Vendor Patch: Contact Q-Free for a security update. Monitor their advisory page for patches.
- Code Review: If source code is available, implement authentication checks in
routes.lua. - Upgrade: If a patched version becomes available, upgrade immediately.
- Monitoring: Implement logging and alerting for the vulnerable endpoint.
Workaround:
- Manually add authentication checks to the
routes.luafile if you have access to the system. For example, add a token-based authentication check before the vulnerable function.
Valters IT
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.