Authentication Bypass in Qinglong Panel via URL Rewrite
An improper authentication vulnerability in Qinglong panel allows unauthenticated remote attackers to reset administrative credentials by leveraging an inconsistent init guard middleware and URL rewrite behavior.
CVE search metadata
CVE search record: CVE-2026-3965. Severity: medium. CVSS: 6.3. EPSS: 0.44%. KEV: no. Product: qinglong. Brief: Authentication Bypass in Qinglong Panel via URL Rewrite. Brief link: https://feed.craftedsignal.io/briefs/2026-08-qinglong-auth-bypass/
CVE search record: CVE-2026-55445. EPSS: 0.40%. KEV: no. Product: qinglong. Brief: Authentication Bypass in Qinglong Panel via URL Rewrite. Brief link: https://feed.craftedsignal.io/briefs/2026-08-qinglong-auth-bypass/
The Qinglong panel contains an authentication bypass vulnerability, tracked as CVE-2026-3965 and CVE-2026-55445, stemming from an incomplete implementation of its initialization security guard. The application uses an 'init guard' middleware to prevent unauthorized access to the /api/user/init and /api/user/notification/init endpoints once the panel is configured. However, a URL rewrite configuration transforms incoming /open/* requests into /api/* paths after the guard middleware has already evaluated the request. Because the guard middleware does not account for the /open/user/init path, which is explicitly whitelisted from JWT authentication, an unauthenticated attacker can submit a crafted request to reset the panel's administrative credentials. This flaw enables full administrative control over the Qinglong instance, allowing the execution of arbitrary cron jobs and system scripts.
Attack Chain
- Attacker identifies a target Qinglong panel instance exposed to the internet.
- Attacker probes for the
/open/user/initendpoint to check for reachability. - Attacker constructs a PUT request directed at
/open/user/initcontaining new desired administrative credentials. - The Qinglong application's JWT middleware encounters the request, identifies the
/open/prefix, and skips authentication as per its whitelist. - The init guard middleware processes the request path, fails to find
/open/user/initin its blocklist, and allows the request to proceed. - The
express-urlrewritemiddleware executes, transforming the request URI from/open/user/initto/api/user/init. - The application processes the request as a legitimate initialization call, overwriting existing admin credentials.
- Attacker logs in with the new credentials to gain full administrative access and schedule malicious tasks.
Impact
Successful exploitation grants an attacker full administrative access to the Qinglong panel. In many enterprise environments, Qinglong is used to manage cron jobs, scripts, and system automation tasks, meaning this bypass results in the ability to execute arbitrary commands at the privilege level of the application process, potentially leading to full server compromise, data exfiltration, or lateral movement within the network.
Recommendation
- Update Qinglong to version >= 6bec52dca158 or the latest stable release to incorporate the fix for CVE-2026-3965 and CVE-2026-55445.
- Deploy the webserver-based detection rule provided below to identify attempts to access the initialization endpoints via the bypass path.
- Implement network-level restrictions or VPN access for Qinglong panel interfaces to prevent unauthenticated access from the public internet.
Immediate actions
Patch all instances of Qinglong panel to version 6bec52dca158 or higher
Threat Hunt
Search web logs for PUT requests to /open/user/init
Data: webserver access logs
Mitigations
Restrict access to Qinglong panel interface via WAF or VPN
CVE-2026-3965
Detection coverage 1
Detect CVE-2026-3965 Exploitation - Unauthenticated Admin Credential Reset
highDetects unauthorized attempts to access the Qinglong initialization endpoint via the /open/ path bypass.
Detection queries are available on the platform. Get full rules →