Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain restricted API token (manage_users, edit_users)
-
DeliverySend PATCH /api/v1/users/{owner}
-
ExploitSet new owner password and clear 2FA
-
ExecutionAuthenticate interactively as the owner
-
ImpactOperate with full role permissions
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must already possess a valid ProjectSend API token whose abilities are limited to manage_users and edit_users; exploitation is performed by that token issuing PATCH /api/v1/users/{user} against its own token owner's account to set a chosen password and clear two-factor authentication. Limiting factors: this is not remote-unauthenticated - a provisioned, privileged-but-restricted token is a hard prerequisite (PR:H), the target account is specifically the token owner, and only ProjectSend versions 2.0.0 up to (not including) 2.7.0 are affected; upgrading to 2.7.0 (or applying commit db65731) closes it. No end-user interaction is required. |
| Impact | This is a genuine privilege-escalation issue but not a drop-everything emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC/VI/VA:H, score 8.6) correctly captures a network-reachable, low-complexity flaw whose single real barrier is PR:H - the attacker must already hold a valid ProjectSend API token scoped to manage_users and edit_users. The vulnerability lets that deliberately restricted token exceed its granted abilities by resetting its own owner's password and clearing 2FA (confirmed by the GHSA advisory and the patch diff, which adds ownCredentialChanges() guards and token revocation on password reset). No EPSS score, KEV listing, or public POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation - the real-world signals all point to opportunistic abuse by an already-privileged-but-constrained insider or by anyone who captures a limited token, rather than mass exploitation. Note the tension worth flagging: the input Tags label this 'Authentication Bypass', but CWE-863 and the description make clear it is an incorrect-authorization / privilege-escalation flaw (a limited token exceeding its abilities), not an unauthenticated auth bypass - verify terminology before triaging as pre-auth. |
| Exploit ScenarioDerived | An operator is issued an API token intentionally limited to the manage_users and edit_users abilities, expecting it cannot touch its own owner's login. Because the API fails to block self-credential changes, the token holder sends a PATCH to /api/v1/users/{owner} setting a new password and clearing the owner's two-factor authentication, then logs into the web UI interactively as the owner with the full role the token was never meant to grant. No public exploit code is known, but the request is trivial to craft for anyone holding such a token. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 18, 2026
Privilege escalation in ProjectSend 2.0.0 through 2.6.x allows a holder of a restricted API token to reset its own owner's password and disable the owner's two-factor authentication, then log in interactively with the owner's full role permissions. The weakness is an incorrect authorization decision in the users API: a token scoped only to manage_users and edit_users can issue PATCH /api/v1/users/{user} against the token owner's account even though the web interface requires the current password for such self-service credential changes. Exploitation requires an already-provisioned, privileged-but-restricted API token (authenticated, PR:H); no public exploit code or confirmed active exploitation was identified at the time of analysis, and version 2.7.0 contains the fix.
RemediationAI
Upgrade to ProjectSend 2.7.0 or later; the vendor advisory is https://github.com/projectsend/projectsend/security/advisories/GHSA-j5cp-r8pr-m5cr and the release is https://github.com/projectsend/projectsend/releases/tag/v2.7.0. If upgrading immediately is not possible, apply commit db65731c3ad28ac7f0d541c60cb65eb100958514 (which adds ownCredentialChanges enforcement and self-2FA-removal blocking) or backport those checks. As compensating controls, inventory and revoke API tokens that carry manage_users and edit_users, especially tokens owned by administrator accounts; restrict API access to trusted source networks; and monitor or alert on API PATCH /api/v1/users/{user} requests where the path user equals the token owner and where email, password, or two-factor fields change. These controls reduce exposure but do not eliminate the flaw, and revoking tokens will break integrations that depend on them until new least-privilege tokens are issued.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
ProjectSend is a PHP file-sharing web application; the affected code is the Identity module's staff-account and API users controller. CWE-863 (Incorrect Authorization) describes the root cause: the API endpoint enforced token abilities such as manage_users and edit_users but failed to distinguish changes to other users from changes to the token owner's own sign-in credentials. In the web UI, profile changes require password confirmation (password.confirm) before email or password updates and before removing one's own second factor, but the API path had no way to ask for that password. The vendor fix adds ownCredentialChanges() checks so that PATCH /api/v1/users/{user} aborts with 403 when the authenticated actor targets their own email or password, blocks self-removal of two-factor authentication, and deletes existing API tokens when another actor resets a user's password. The CPE entry is the generic projectsend:projectsend wildcard, so version detection must be done from the installed release rather than a version-specific CPE.
Know when Projectsend gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Requires a valid though deliberately restricted API token so PR:H; network-reachable REST API with no user interaction (AV:N/AC:L/UI:N), and resulting full owner role plus account lockout yields C:H/I:H/A:H, scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
ProjectSend 2.0.0 before 2.7.0 contains an incorrect authorization vulnerability that allows restricted API token holders to change the token owner's credentials via PATCH /api/v1/users/{user}. Attackers with a token limited to manage_users and edit_users can set a new owner password, clear two-factor authentication, and sign in interactively with the owner's full role permissions.
Technical POC Analysis
CWE-863 (Incorrect Authorization), with the advisory also tagging CWE-269.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
ProjectSend versions 2.0.0 through 2.6.x contain a privilege-escalation flaw that lets an already-issued restricted API token take over its owner's account by resetting the owner's password and disabling two-factor authentication, after which the attacker can log in interactively with the owner's full permissions. Organizations using ProjectSend for file exchange and API-driven integrations should care because this undermines both password controls and 2FA, potentially exposing shared content and administrative capabilities to anyone holding such a token. No public exploit was identified at time of analysis, and the vendor has released a fixed version, 2.7.0.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
More in Projectsend
View allProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Unrestricted file upload vulnerability in process-upload.php in ProjectSend (formerly cFTP) r100 through r561 allows rem
install/make-config.php in ProjectSend r754 allows remote attackers to execute arbitrary PHP code via the dbprefix param
Projectsend version r1295 is affected by a directory traversal vulnerability. Rated critical severity (CVSS 9.8), this v
An issue was discovered in ProjectSend r1053. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable
Projectsend version r1295 is affected by sensitive information disclosure. Rated high severity (CVSS 8.1), this vulnerab
reset-password.php in ProjectSend before r1295 allows remote attackers to reset a password because of incorrect business
SQL injection vulnerability in client-edit.php in ProjectSend (formerly cFTP) r561 allows remote authenticated users to
Projectsend version r1295 is affected by a directory traversal vulnerability. Rated medium severity (CVSS 6.5), this vul
Projectsend version r1295 is affected by Cross Site Scripting (XSS) due to lack of sanitization when echo output data in
Projectsend r1295 contains a stored cross-site scripting vulnerability that allows authenticated attackers to inject mal
Cross-site scripting (XSS) vulnerability in ProjectSend (formerly cFTP) r561 allows remote attackers to inject arbitrary
EUVD-2026-103454
GHSA-7c3c-3r99-phc3
NVD
CVE.org
EPSS
VulDB
Exploit-DB