Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain basic-role API JWT
-
DeliveryCall GET/DELETE /api/user/{id}
-
ExploitMissing authorization check not enforced
-
ExecutionRead PII and IBAN of other accounts
-
ImpactDelete arbitrary user accounts
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
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 | Requires a valid authenticated account with at least a basic role on the installation (PR:L - a JWT accepted by the auth:api middleware); exploitation is not possible without an account. The read path (GET /api/user/{id}, affecting all versions 2.0.0 before 5.26.0) is limited to accounts within the attacker's own company but ignores role/permission, exposing higher-privileged accounts' email, telephone, postal address and IBAN. The delete path (DELETE /api/user/{id}) exists only from version 3.5.0; it is normally scoped to the attacker's own company, but the comparison is skipped when the attacker's account belongs to Company::DEFAULT_COMPANY (company ID 1), in which case deletion of any account in any company - including a company's last administrator - is possible. No user interaction and no non-default configuration are needed beyond holding a basic-role account; the limiting factors are the required authentication and, for cross-company deletion, membership in the default company. |
| Impact | Signals point to a genuine but authentication-gated priority rather than an internet-wide emergency. The CVSS 4.0 score of 8.6 (High) with vector AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H reflects an easily reached network API where a low-privileged (PR:L) authenticated user obtains high confidentiality and high integrity impact. The vuln.today Decision label is 'this_week', consistent with a serious access-control flaw that is not under active mass exploitation. No CISA KEV listing is present, so there is no confirmed active exploitation; no EPSS score was provided, so exploitation probability cannot be quantified from the input; and no public exploit reference is supplied - only the vendor fix commit and the secur0.com CNA advisory. The PR:L requirement is the main limiting factor: an attacker must already hold a valid JWT for a basic-role account on the installation, so the realistic threat is a malicious or compromised low-privilege tenant user, not an anonymous remote attacker. One data inconsistency: the input Tags label this 'Authentication Bypass', but the CWE (CWE-862 Missing Authorization) and the requirement for a valid JWT make it a broken-authorization/privilege-escalation issue, not an authentication bypass - authentication succeeds, authorization is simply never checked. Overall this is a real must-patch issue for operators of this CRM, but the absence of KEV/EPSS/PoC signals and the PR:L precondition argue against treating it as a drop-everything emergency. |
| Exploit ScenarioDerived | A user holding only a basic role on a Prospero Flow CRM installation authenticates to obtain a valid API JWT, then directly calls GET /api/user/{id} to read other users' accounts in their own company - including higher-privileged administrators - harvesting email addresses, phone numbers, postal addresses and IBANs. On versions 3.5.0 and later the same user calls DELETE /api/user/{id} to remove accounts, and if their account belongs to Company::DEFAULT_COMPANY (company ID 1) the company-scoping check is skipped, letting them delete any account in any company of the installation, including the last administrator of a company. No public exploit code is referenced; only the vendor patch commit and CNA advisory are available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Roskus Prospero Flow CRM versions 2.0.0 through 5.25.x ship user API routes (GET and DELETE /api/user/{id}) protected only by the auth:api middleware, which validates the JSON Web Token and performs no permission, policy or role check, so any holder of a basic-role account can read the account records of other users in the same company - including administrators and their email address, telephone number, postal address and IBAN - and, from 3.5.0 onward, delete those accounts. Exploitation requires a valid authenticated account (PR:L) and, for deletion of accounts outside the attacker's own company, membership in Company::DEFAULT_COMPANY (company ID 1), where the company comparison is skipped entirely; an account in that company can delete any account of any company, including a company's last administrator, and deletion removes the data held on the account. No public exploit code and no confirmed active exploitation were identified at time of analysis; the vulnerability is tracked with an assessed CVSS 3.1 base of 8.6 (AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N) and is prioritized for remediation this week.
RemediationAI
Upgrade Prospero Flow CRM to 5.26.0 or later, the first release outside the affected range, which incorporates the upstream fix commit 52cd172ccc7c3332805d9e0b7fc992bda3d422bf and adds a 'delete user' permission check via UserDeleteRequest, company-scoped delete lookups, SuperAdmin-only deletion of SuperAdmin accounts, and a guard_name pin so role and permission checks actually resolve for JWT API requests (advisory: https://secur0.com/en/cna/cve-list/cve-2026-114519-missing-authorization-user-api). If upgrading cannot be done immediately, the highest-value compensating control is to remove basic-role users from Company::DEFAULT_COMPANY (company ID 1) and reserve membership of that company for SuperAdmin accounts, which closes the cross-company deletion bypass but not the same-company read and delete exposure, and which will break any workflow that depends on non-privileged accounts living in the default company. As a second control, block GET and DELETE on /api/user/{id} at the reverse proxy or WAF for all but administrative identities until the patch is applied; this stops both the data disclosure and the destructive delete path, at the cost of disabling legitimate user-profile and user-administration API calls. Because a successful delete destroys the data held on the account and can remove a company's last administrative account, take and verify a current database backup before and during the remediation window so deleted accounts can be restored.
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
Prospero Flow CRM is a Laravel (PHP) application whose API is authenticated with JWTs through the auth:api middleware. The flaw is CWE-862 (Missing Authorization): the routes GET /api/user/{id} and DELETE /api/user/{id} in routes/api.php carry only auth:api, which confirms that the token is valid and nothing further, and neither UserReadController::read() nor UserDeleteController::delete() consults a permission, a policy or a role before acting. Object-level scoping is done by company rather than by authorization: the read path restricts the query to the authenticated user's company_id, which confines the leak to colleagues but not to accounts the caller is entitled to see, and the delete path compares the target's company_id with the caller's - except when the caller's company is Company::DEFAULT_COMPANY (company ID 1), in which case the comparison is bypassed and deletion becomes installation-wide. The upstream fix in commit 52cd172ccc7c3332805d9e0b7fc992bda3d422bf replaces the raw Request with a UserDeleteRequest whose authorize() checks the 'delete user' permission, scopes the delete lookup by company_id unless the caller has the SuperAdmin role, forbids non-SuperAdmin callers from deleting SuperAdmin accounts (HTTP 403) in both the API and web controllers, applies the same SuperAdmin guard to UserUpdateController, and pins User::$guard_name to 'web' so that roles and permissions - seeded only for the web guard - also resolve for JWT-authenticated API requests. The same commit tightens related object references, for example by validating customer_id and order_id with Rule::exists scoped to the caller's company in the ticket controller and by scoping BrandRepository lookups to the authenticated user's company.
Know when PHP 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:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
A valid basic-role JWT is required so PR:L with AV:N/AC:L for a direct REST call; C:H from PII/IBAN disclosure and I:H from unauthorized account deletion, A:N.
Primary rating from Vendor (4daa8cea-433a-44bd-9456-53b127fc289a).
CVSS VectorVendor: 4daa8cea-433a-44bd-9456-53b127fc289a
Lifecycle Timeline
2DescriptionCVE.org
Missing Authorization (CWE-862) in the user API of Roskus Prospero Flow CRM from 2.0.0 before 5.26.0 allows a user with a basic role to read the accounts of other users of its own company, including accounts with higher privileges, and, in versions from 3.5.0, to delete them, because the routes GET /api/user/{id} and DELETE /api/user/{id} in routes/api.php carry only the auth:api middleware, which checks that a JSON Web Token is valid and nothing more, and neither UserReadController::read() nor UserDeleteController::delete() checks a permission, a policy or a role before acting. Object access is scoped by company: the read path limits the query to the company of the authenticated user, and the delete path compares the company of the target account with the company of the authenticated user. The delete path skips that comparison when the company of the authenticated user is Company::DEFAULT_COMPANY, so a user with a basic role in that company can delete any account of any company of the installation. Deleting an account removes the data held on it, and the last administrative account of a company can be deleted. This gives the attacker the personal data held on the other accounts, including email address, telephone number, postal address and IBAN, and the ability to delete accounts it has no permission to administer.
Executive ViewAI
Roskus Prospero Flow CRM versions 2.0.0 through 5.25.x contain a high-severity authorization flaw that allows any authenticated user with a basic account to access sensitive personal and financial data (including IBAN) of other users, including administrators, within their company, and potentially delete accounts across companies if the user belongs to the default company. This poses a significant risk of data breach, financial fraud, and operational disruption, requiring immediate leadership attention to protect customer trust and comply with data protection regulations.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict access to the vulnerable API routes via network segmentation or a WAF, enforce additional authorization checks at the reverse proxy, monitor logs for anomalous access to /api/user/{id}, and limit membership in Company::DEFAULT_COMPANY to only essential accounts.
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.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
EUVD-2026-108424
GHSA-qx74-4w2g-2hpx
NVD
CVE.org
EPSS
Exploit-DB