ProjeQtor Unauthenticated Login SQL Injection (CVE-2026-41462)
by Ashraf Zaryouh (0xBlackash) · 2026-07-05
- Severity
- Critical
- CVE
- CVE-2026-41462
- Category
- web
- Affected product
- ProjeQtor project management tool
- Affected versions
- 7.0 through 12.4.3 (fixed in 12.4.4)
- Disclosed
- 2026-07-05
- Patch status
- patched
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-04 |
| Author / Researcher | Ashraf Zaryouh (0xBlackash) |
| CVE / Advisory | CVE-2026-41462 |
| Category | web |
| Severity | Critical |
| CVSS Score | 9.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) |
| Status | Weaponized |
| Tags | projeqtor, sqli, unauthenticated, login-bypass, stacked-queries, admin-creation, nuclei |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | ProjeQtor project management tool |
| Versions Affected | 7.0 through 12.4.3 (fixed in 12.4.4) |
| Language / Platform | PHP web application; PoC in Python (requests) |
| Authentication Required | No |
| Network Access Required | Yes |
Summary
ProjeQtor’s login.php endpoint concatenates the login POST parameter directly into a SQL query without sanitization, allowing an unauthenticated attacker to inject stacked SQL statements. The included exploit crafts a login value that terminates the original query and appends an INSERT INTO resource (...) VALUES (...) statement, creating a brand-new administrator account with attacker-chosen username and password. Once the attacker’s POST is accepted, they can simply log in through the normal web UI with full administrative privileges. A companion Nuclei template detects the underlying injection point by sending a benign SELECT 1; stacked query and checking for SQL-error strings in the response.
Vulnerability Details
Root Cause
The login handler builds its authentication SQL query by directly interpolating the user-supplied login field, permitting stacked/multi-statement SQL injection (CWE-89) with no input validation or parameterization.
Attack Vector
- Attacker sends an unauthenticated POST to
/login.phpwithloginset to a payload that closes the original query and appends; INSERT INTO resource (name, login, password, profile) VALUES (...) --. - The database executes both the original login check and the injected
INSERT, creating a new administrator-profile resource/user record. - Attacker logs in at
/login.phpusing the newly created credentials and lands on the full admin dashboard. - From there the attacker has complete control over projects, users, and system settings.
Impact
Unauthenticated SQL injection leading directly to full administrative account takeover of the ProjeQtor instance and its underlying database.
Environment / Lab Setup
Target: ProjeQtor <= 12.4.3 web application (login.php)
Attacker: Python 3 + requests, or nuclei with the provided template
Proof of Concept
PoC Script
See
CVE-2026-41462.pyandCVE-2026-41462.yamlin this folder.
| |
CVE-2026-41462.py posts the stacked-query injection payload to /login.php to create a new admin user (resource table, profile=1), then prints the login URL and new credentials. CVE-2026-41462.yaml is a Nuclei detection template that sends a benign SELECT 1; stacked query to common login paths and flags the target as vulnerable if SQL error strings appear in the response.
Detection & Indicators of Compromise
Signs of compromise:
- Unexpected new rows in the
resourcetable withprofile=1(admin) and unfamiliar usernames - Login attempts with SQL metacharacters (
',;,--) in the username field - New admin logins from unfamiliar IPs shortly after suspicious
/login.phpPOST requests
Remediation
| Action | Detail |
|---|---|
| Primary fix | Upgrade to ProjeQtor 12.4.4 or later |
| Interim mitigation | Deploy a WAF rule blocking SQL metacharacters in the login parameter, and audit the resource table for unauthorized admin-profile entries until patched |
References
Notes
Mirrored from https://github.com/0xBlackash/CVE-2026-41462 on 2026-07-05.
| |