Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain pending team invitation
-
DeliveryCraft POST to team-invitations route with admin role
-
ExploitBypass TeamPolicy authorization predicate
-
ExecutionSecond account accepts invitation
-
ImpactGain full admin CRUD over team data
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 | Exploitation requires the attacker to already hold a valid pending team invitation for a target team (PR:L) - this is the gating precondition, so it is not exploitable by a fully anonymous outsider. Given that, the attacker sends a POST to the team-invitations route specifying the 'admin' role for a second attacker-controlled account; the flawed authorization predicate in TeamPolicy::addTeamMember() grants the invite right solely on a pending-invitation email match, and InviteTeamMember does not enforce privilege-level validation. No victim interaction is needed beyond the attacker's own second account accepting the invitation. Affected versions are Liberu CRM 0.9.1 through those before 10.0.0; upgrading to v10.0.0 removes the flaw. |
| Impact | The CVSS 4.0 score of 8.7 (High) reflects a network-reachable (AV:N), low-complexity (AC:L), low-privilege (PR:L) broken-access-control flaw with high confidentiality, integrity, and availability impact on the vulnerable system (VC:H/VI:H/VA:H), no scope change to other systems (SC/SI/SA:N). The signals are internally consistent: PR:L correctly reflects that the attacker must already hold a pending team invitation (a low but non-zero privilege), and UI:N reflects that the elevation itself needs no victim action beyond the attacker-controlled second account accepting. No EPSS score, KEV listing, or public POC was supplied, so this is 'no public exploit identified at time of analysis' - the risk is credible on paper but there is no evidence of active or automated exploitation. The real-world priority is tempered chiefly by prevalence: Liberu CRM is a niche open-source Laravel application, not enterprise-ubiquitous software, so blast radius is limited to the relatively small population that deploys it. Within a deployed instance, however, the flaw is serious - it yields full admin-level CRUD over all team-scoped data. No conflicting signals: the description (specific POST to team-invitations route, low-privilege invitee) matches the CVSS vector well. |
| Exploit ScenarioDerived | An attacker who has been sent (or otherwise obtained) a pending team invitation crafts a POST request to the team-invitations route naming a second, attacker-controlled account and specifying the 'admin' role. Because TeamPolicy::addTeamMember() authorizes the action based only on the existence of a matching pending-invitation email - and InviteTeamMember fails to validate the requested privilege level - the second account is attached to the team with full admin rights upon acceptance. No public POC is referenced, but the described request is trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 29, 2026
Broken access control in Liberu CRM 0.9.1 through releases before 10.0.0 lets an authenticated low-privileged user who already holds a pending team invitation escalate privileges and bind a second, attacker-controlled account to the team with full admin rights, granting create, read, update, and delete access over all team-scoped data. The root cause is a flawed authorization predicate in TeamPolicy::addTeamMember() that grants invite rights based solely on whether the requesting email matches an outstanding invitation, combined with missing privilege-level validation in InviteTeamMember, so a POST to the team-invitations route specifying the 'admin' role is accepted. No public exploit code has been identified at time of analysis and the issue is not listed in CISA KEV; the vendor-released fix is version 10.0.0, which removes the flaw.
RemediationAI
Upgrade to Liberu CRM 10.0.0, the vendor-released patched version tagged at https://github.com/liberusoftware/crm-laravel/releases/tag/v10.0.0; the specific fix commit is 0846d067ae2e9c437e8555e54a4ec6517927b3d4, so environments that cannot move to the full release should backport that commit onto their current branch and re-test the invitation flow. There is no vendor-published workaround, so until patched the most effective compensating control is to review and immediately revoke or expire all outstanding pending team invitations (trade-off: legitimate invitees must be re-invited, temporarily disrupting onboarding); a second option is to block or tightly restrict access to the team-invitations route at the reverse proxy or application middleware so that only already-elevated administrators can reach it (trade-off: breaks self-service and delegated invitation workflows for non-admins); organizations can also add server-side validation in InviteTeamMember rejecting any invitation whose requested role exceeds the inviter's own effective permissions, and alert on POST requests to the team-invitations endpoint that specify 'admin' or other elevated roles (trade-off: custom code must be maintained and re-based at each upgrade). As an additional detective measure, audit team membership for recently accepted invitations that resulted in admin role assignment and roll back any unauthorized account additions. Vendor advisories and the upstream issue should be monitored for any follow-up revisions.
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
Liberu CRM is a Laravel-based CRM application (repository liberusoftware/crm-laravel, built on Laravel/Filament/Livewire with spatie/laravel-permission for role management). The defect is CWE-863 (Incorrect Authorization): the Laravel policy method TeamPolicy::addTeamMember() evaluates authorization by checking only whether the acting identity's email matches an existing pending team invitation, rather than verifying the actor's actual role or permission set on the target team. Because that single predicate is treated as sufficient to confer invitation rights, the subsequent InviteTeamMember action performs no independent privilege-level validation on the role being assigned, allowing a role of 'admin' to be requested for an arbitrary second account. The successful invitation is then accepted by that second account and attached to the team with full administrative CRUD over team-scoped resources. Per the assessed vector (CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N, assessed as CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H), the flaw is network-reachable, low-complexity, and requires the attacker to hold a low-privilege foothold (PR:L) in the form of a valid pending invitation; impact is high for confidentiality, integrity, and availability on the vulnerable system with no scope change to other components. The CPE record cpe:2.3:a:liberu_software:liberu_crm:*:*:*:*:*:*:*:* is wildcarded, so version exposure must be derived from the description's 0.9.1-before-10.0.0 range.
Know when Liberu Crm 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:H/SC:N/SI:N/SA:N
Network-reachable POST request (AV:N/AC:L); attacker must hold a pending invitation, so PR:L not PR:N; resulting admin CRUD over all team data yields C/I/A:H with no cross-team scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Liberu CRM 0.9.1 before 10.0.0 contains a broken access control vulnerability that allows any user holding a pending team invitation to invite additional attacker-controlled accounts with elevated privileges by exploiting a flawed authorization predicate in TeamPolicy::addTeamMember() that grants invitation rights based solely on the existence of a pending invitation email match. Attackers can send a POST request to the team-invitations route specifying the admin role for a second account, bypassing privilege-level validation in InviteTeamMember, causing the second account upon invitation acceptance to be attached to the team with full admin-level create, read, update, and delete access over all team-scoped data.
Executive ViewAI
Liberu CRM versions 0.9.1 through releases before 10.0.0 are affected by a broken access control issue that can allow a user with a pending team invitation to gain full administrative control over team-scoped data. This could result in unauthorized access, modification, or deletion of customer and operational records across an entire team, with potential regulatory and reputational consequences. No public exploit identified at time of analysis, but leadership should prioritize remediation because the flaw undermines role-based access controls and the vendor-released patch is version 10.0.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.
EUVD-2026-89339
GHSA-2xh3-6r9v-rqmp
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB