Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as operator with edit-users permission
-
DeliveryOpen own account in UsersEdit Livewire component
-
ExploitSubmit admin role ID in role field
-
ExecutionServer syncs unvalidated role to account
-
ImpactGain super admin, bypass tenant scoping and impersonate users
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V8 - Authorization Least privilege enforcement
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 an authenticated account that already holds the 'edit users' permission - the shipped 'operator' role is sufficient - and access to the UsersEdit Livewire component's user-edit form; the attacker submits the admin role ID for their own account and the pre-9.20.0 server synced browser-supplied roles without validating them against assignable roles. Limiting factors: the attacker must first obtain such a delegated role (not reachable by anonymous or self-registered customer users in the UsersEdit path), and the issue is fixed in v9.20.0, where assignable roles are computed server-side and a non-super-admin can no longer add a role to itself. This is an insider/compromised-privileged-account escalation, not a default-configuration unauthenticated flaw. |
| Impact | This is a genuine but access-gated privilege escalation (CWE-269) in an open-source Laravel admin scaffolding package. The strongest signals are CONFIRMED and internally consistent: the vendor-supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:H/UI:N, VC:H/VI:H/VA:H, score 8.6) aligns with the description - a network-reachable, low-complexity attack that nonetheless requires the attacker to already hold a role carrying the 'edit users' permission (e.g. the shipped operator role), so it is NOT unauthenticated. The high impact (full admin takeover, tenant-scoping bypass, per-record authorization bypass, impersonation) is corroborated by the vendor advisory and the fix commit, which show the client-supplied role list was synced verbatim. Key risk-dampening signals are MISSING rather than conflicting: no EPSS score was provided, there is no CISA KEV listing, and no public proof-of-concept exploit was supplied (the GitHub links are the patch/source, not weaponized exploit code). Net assessment: real and worth prioritizing for anyone running Rapyd Admin 9.0.0-9.19.x with delegated user-management roles, but the PR:H prerequisite means it is an insider/compromised-operator escalation vector, not a mass-exploitable internet-facing bug - tempering the 8.6 base score in most deployments. |
| Exploit ScenarioDerived | A tenant operator (or any user granted the 'edit users' permission) opens the UsersEdit screen for their own account and submits the admin role ID in the role field, which the server synced without server-side validation. They instantly become super admin, escaping their tenant boundary and gaining the ability to impersonate and administer every account across all tenants. No public exploit code was supplied, but the vulnerable source lines and fixing commit are published, lowering the bar to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
Improper privilege management in Rapyd Admin (the open-source Rapyd Admin scaffolding package for Laravel) versions 9.0.0 through 9.19.x lets an authenticated user who already holds the 'edit users' permission - the shipped 'operator' role is sufficient - promote their own account to the 'admin' role by submitting the admin role ID through the UsersEdit Livewire component, which prior to 9.20.0 synced browser-supplied roles without validating them against a server-side allow-list. Successful exploitation lifts tenant scoping, bypasses per-record authorization and enables impersonation of other users, including higher-privileged accounts, giving high confidentiality, integrity and availability impact within the affected installation. The flaw is fixed in v9.20.0, which computes assignable roles server-side and prevents a non-super-admin from granting a role to itself; no public exploit code and no confirmed active exploitation were identified at time of analysis, and the prerequisite of an already-delegated privileged account makes this an insider or compromised-account escalation rather than a default-configuration, unauthenticated issue.
RemediationAI
Upgrade Rapyd Admin to v9.20.0 or later - the release that computes assignable roles on the server and blocks a non-super-admin from adding any role to itself (release notes: https://github.com/zofe/rapyd-admin/releases/tag/v9.20.0, fix commit https://github.com/zofe/rapyd-admin/commit/acd6ee85f9e5ccec67199673b039c605d161406a; advisory: https://www.vulncheck.com/advisories/rapyd-admin-from-9.0.0-before-9.20.0-privilege-escalation-via-usersedit-component). If an immediate upgrade is not possible, apply compensating controls with their trade-offs: revoke the 'edit users' permission (or remove the shipped 'operator' role) from every account that does not genuinely need user administration - this closes the escalation path entirely but breaks legitimate delegated user-management workflows; if that permission must stay in use, restrict it to a small, named set of trusted administrators and remove it from any role granted to self-registered or customer-facing accounts. Because the same upstream security release also fixed a hard-coded default administrator credential (admin@laravel / admin) and stored XSS in display names and rich-text values, treat any pre-9.20.0 installation as potentially compromised: audit the users table and role/pivot tables for accounts holding the 'admin' or super-admin role that were not deliberately provisioned, force password resets and invalidate sessions for any accounts whose role assignments cannot be explained, and rotate credentials for the legacy admin@laravel account or delete it if unused. Note that patching does not retroactively undo a role assignment already written to the database, so the role audit must be performed regardless of upgrade timing.
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
The root cause is CWE-269 (Improper Privilege Management) in the Livewire-based UsersEdit component of Rapyd Admin, a Laravel admin-panel scaffolding package. In affected builds the component collected the list of roles to apply from the browser and persisted them verbatim: version 9.19.0's UsersEdit populated available_roles directly from Role::query()->pluck('name','id') and then synced whatever the request carried, so the only gate was a coarse 'edit users' permission check rather than a check on which roles the caller was entitled to assign. Because the component operated on a user ID supplied by the client, a caller holding a delegated role such as 'operator' could post the numeric ID of the 'admin' (or super-admin) role against their own account and have it written through. The upstream fix commit acd6ee85f9e5ccec67199673b039c605d161406a replaces the browser-derived list with a server-computed assignableRoles() method: a non-super-admin never sees or submits roles listed in rapyd.auth.super_admin_roles, cannot edit a super administrator (which would have allowed a password reset), and cannot add any role to itself; the dead $unchangable property was also removed. The same 9.19.0 security release that backstops this class of bug additionally hardened authority resolution in UsersModalEditEmbed (owner/company scoping), replaced the hard-coded admin@laravel / admin seeder credential with a random one-time password, and escaped stored XSS in x-rpd::select-list and x-rpd::rich-text - context worth noting because pre-9.19.0 deployments may carry several of these weaknesses simultaneously. Vendor/upstream scoring is CVSS 4.0 8.6 (AV:N/AC:L/AT:N/PR:H, high confidentiality/integrity/availability on the vulnerable system, no subsequent-system impact), while the independent assessment maps it to CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H; both agree the attack is network-reachable and requires a valid authenticated account, with disagreement only on the privilege level required.
Know when the next one hits your stack
- 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
Network-reachable Livewire endpoint with low complexity; attacker needs a limited operator-level role carrying 'edit users' (PR:L, not admin), and full admin takeover yields C/I/A:H.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Rapyd Admin from 9.0.0 before 9.20.0 contains an improper privilege management vulnerability in the UsersEdit Livewire component that allows users with the edit users permission to assign themselves the admin role. Attackers holding roles such as the shipped operator role can submit the admin role ID for their own account, lifting tenant scoping, bypassing per-record authorization, and enabling impersonation.
Executive ViewAI
Rapyd Admin, the open-source Laravel administrative scaffolding package, is affected by a privilege-escalation flaw (CVE-2026-109567, CVSS 8.6) that lets a user with routine user-editing permissions grant themselves full administrative rights inside an affected installation. A promoted account can cross tenant boundaries, reach records it should not see, and impersonate other users - including more privileged ones - creating broad confidentiality, integrity and availability exposure for any organization running versions 9.0.0 through 9.19.x in production or multi-tenant environments. Leadership should treat this as a high-priority access-control failure affecting the trust model of the admin layer itself, while noting that no public exploit code and no confirmed active exploitation were identified at time of analysis.
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
Privilege escalation occurs when an attacker leverages flaws in access control mechanisms to gain permissions beyond what they were originally granted.
EUVD-2026-97890
GHSA-892p-42h6-pggx
NVD
CVE.org
EPSS
Exploit-DB