CVE-2026-55445

Qinglong: Incomplete fix for CVE-2026-3965: Improper Authentication

Published Jul 15, 2026 CVSS 4.0 · 9.3 Critical EPSS < 1% KEV · Not listed
Description
Qinglong is a timed task management platform supporting Python3, JavaScript, Shell, and Typescript. Prior to 2.20.1, the init guard middleware in back/loaders/express.ts checks /api/user/init but not /open/user/init, while rewrite('/open/*', '/api/$1') rewrites the whitelisted /open/* path after JWT authentication and the guard have passed; an unauthenticated attacker can send PUT /open/user/init to reset administrator credentials on an initialized instance. This issue is fixed in 2.20.1.

Analysis

AI-generated

Technical impact

The vulnerability arises from an incomplete authentication check in Qinglong’s init guard middleware. An unauthenticated attacker can issue a PUT request to /open/user/init, which bypasses normal JWT protection and resets the administrator password. This results in privilege escalation and complete compromise of the platform. The weakness is a classic authentication bypass (CWE-287).

Affected Systems

Qinglong by whyour, versions prior to 2.20.1 are affected. Upgrading to 2.20.1 or later removes the flaw.

Risk and Exploitability

The CVSS score of 9.3 marks this flaw as critical, while an EPSS score of less than 1% suggests low current exploitation likelihood. It is not listed in the CISA KEV catalog. The exploit requires no prior authentication and relies on the open /open/* path being rewritten after JWT authentication, making it straightforward for an attacker to hit the vulnerable endpoint.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade Qinglong to version 2.20.1 or later. This is the only officially recommended fix.
  • If immediate upgrade is not possible, block external access to the /open/* API endpoints at the network or firewall level to prevent unauthenticated requests.
  • Audit and disable the open user initialization route or configure the server to require authentication for /open/* paths to mitigate the risk while a patch is applied.

Generated by OpenCVE AI on July 31, 2026 at 02:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-v667-gc2r-2xm7 Qinglong has an incomplete fix for CVE-2026-3965: Improper Authentication
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
First Time appeared Whyour
Whyour qinglong
Vendors & Products Whyour
Whyour qinglong
Type Values Removed Values Added
Description Qinglong is a timed task management platform supporting Python3, JavaScript, Shell, and Typescript. Prior to 2.20.1, the init guard middleware in back/loaders/express.ts checks /api/user/init but not /open/user/init, while rewrite('/open/*', '/api/$1') rewrites the whitelisted /open/* path after JWT authentication and the guard have passed; an unauthenticated attacker can send PUT /open/user/init to reset administrator credentials on an initialized instance. This issue is fixed in 2.20.1.
Title Qinglong: Incomplete fix for CVE-2026-3965: Improper Authentication
Weaknesses CWE-287
References
Metrics cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Jul 18, 2026, 2:37 AM
Reserved
Jun 16, 2026, 9:59 PM
Status
Deferred
Published
Jul 15, 2026, 10:17 PM
Modified
Oct 24, 2026, 9:10 PM