Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain low-priv backend account with settings.users.edit
-
DeliveryAccess admin.settings.users.update endpoint
-
ExploitSubmit request setting own role_id to Administrator
-
ExecutionBypass missing role-grant authorization check
-
PersistGain full admin panel control
-
ImpactExfiltrate payment credentials and customer PII
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 existing authenticated Bagisto backend/admin-panel account that holds at least the settings.users.edit permission (PR:L); it is not anonymously exploitable. The attacker must reach the admin.settings.users.update endpoint and submit a user-update request setting role_id to the Administrator role. No user interaction, MFA prompt, or non-default configuration is needed - the flaw is present in the default UserController::update() logic of Bagisto 2.4.9, which omits three authorization checks (grant-permission validation, self-role-change prevention, and subset-of-actor-permissions restriction). The main limiting factor is the requirement to first possess a low-privileged backend credential. |
| Impact | The CVSS vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H = 8.8 High) is internally consistent with the description: a network-reachable admin-panel endpoint, low attacker privilege (a backend account holding only settings.users.edit), no user interaction, and full compromise of confidentiality, integrity, and availability once the actor self-promotes to Administrator. I broadly AGREE with the 8.8; the only defensible downgrade argument is that this is post-authentication (PR:L) against a backend panel rather than a truly anonymous internet-facing flaw, which meaningfully narrows the attacker population. Real-world urgency signals are LOW: EPSS is 0.15% (5th percentile), the CVE is NOT in CISA KEV, and there is no SSVC decision record in the input. The primary NVD reference is a researcher's GitHub writeup (isukasanuj/bagisto-cve) which very likely contains reproduction steps, but the input provides no explicit POC=YES flag, so weaponized exploit code cannot be confirmed. Net: a genuinely high-impact privilege-escalation bug, but one gated behind an existing low-privileged backend account, so it is a strong internal/insider-threat and post-foothold escalation concern rather than a mass-exploitation emergency. |
| Exploit ScenarioDerived | A low-privileged Bagisto backend operator (or an attacker who has phished/compromised such an account) who holds only the settings.users.edit permission sends a crafted POST to the admin.settings.users.update route setting role_id to the Administrator role on their own account. Because UserController::update() never checks that the actor may grant that role, forbids self-role-changes, or limits assignment to a subset of the actor's own permissions, the account instantly gains full admin capabilities. A public technical writeup exists on GitHub and likely documents the exact request, though no weaponized exploit or active exploitation is confirmed. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 16, 2026
Privilege escalation in Webkul Bagisto 2.4.9 lets an authenticated backend user who holds only the settings.users.edit permission promote their own account to the Administrator role, gaining every admin-panel capability including store configuration, payment-gateway credentials and customer PII. Exploitation needs a valid low-privileged admin-panel credential but no user interaction and no non-default configuration; the admin.settings.users.update endpoint (UserController::update()) simply fails to verify who may grant a role, whether a user may change their own role, or whether the granted role's permissions are a subset of the actor's own. No public exploit code has been identified at time of analysis and the vulnerability is not in CISA KEV; EPSS is low at 0.15% (5th percentile), but a successful self-promotion delivers full confidentiality, integrity and availability impact (CVSS 8.8, PR:L, no UI).
RemediationAI
No vendor-released patch has been identified at time of analysis, so the primary action is to apply the missing authorization checks in UserController::update() - reject role changes the actor is not entitled to grant, forbid users from editing their own role_id, and restrict assignable roles to subsets of the actor's permissions - either as a custom patch or by upgrading as soon as the vendor ships a fixed release. Until then, the highest-value compensating control is to remove the settings.users.edit permission from every role except a small number of fully trusted super-admins (trade-off: delegated user administration stops working and becomes a bottleneck). Where the permission must remain delegated, add an application or database guard that blocks updates setting a user's own role_id and blocks role_id values mapping to broader permission sets than the actor's, and add a WAF rule rejecting requests to admin/settings/users/update that reference the Administrator role_id (trade-off: legitimate administrative role promotions must be performed outside that rule or via an allowlisted path). Network-level restrictions such as an IP allowlist or VPN-only access to /admin reduce exposure with the trade-off of limiting remote administration. Finally, because a successful exploit exposes payment-gateway credentials and customer PII, review and rotate payment provider secrets and audit admin user records for unexpected role_id changes; note that the low EPSS (0.15%) reflects low observed exploitation activity, not low consequence.
Affected VersionsENISA
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Bagisto is an open-source, Laravel-based e-commerce platform whose admin panel enforces role-based access control through role_id assignments on backend user records. CVE-2026-79411 is a CWE-269 (Improper Privilege Management) flaw in UserController::update(), reached via the route admin.settings.users.update. The handler persists an attacker-supplied role_id without three required authorization decisions: it does not confirm the actor is permitted to grant the requested role, it does not prevent a user from editing their own role, and it does not restrict assignment to roles whose permission set is a subset of the actor's own permissions. Because the Administrator role carries the full permission set, a single crafted update request converts a low-privileged settings.users.edit holder into a full administrator. The CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H vector confirms the actor must already be authenticated (PR:L) and reach the endpoint over the network, with no user interaction and scope unchanged, but with complete loss of confidentiality, integrity and availability after escalation. The EUVD record (EUVD-2026-79300) mirrors the NVD entry and supplies no additional version granularity beyond 2.4.9.
Know when Bagisto 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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable admin endpoint (AV:N) with no special conditions (AC:L), requires an existing low-priv backend account (PR:L), no interaction (UI:N); self-promotion to admin yields full C/I/A within the same app (S:U).
Primary rating from Vendor (mitre).
CVSS VectorVendor: mitre
Lifecycle Timeline
3DescriptionCVE.org
Incorrect privilege assignment in the admin user-management component of Webkul Bagisto 2.4.9 allows an authenticated backend user holding only the settings.users.edit permission to escalate to full administrator. The user-update endpoint (route admin.settings.users.update, UserController::update()) does not verify that the actor is permitted to grant the requested role, does not prevent a user from changing their own role, and does not restrict assignment to roles whose permission set is a subset of the actor's own. By submitting a request that sets role_id to the Administrator role for their own account, a low-privileged administrator gains every admin-panel capability, including store configuration, payment gateway credentials, and customer PII.
Executive ViewAI
Webkul Bagisto 2.4.9 contains a privilege-escalation flaw that allows any authenticated backend staff member holding the settings.users.edit permission to promote their own account into the Administrator role. This means a relatively low-trust internal account can obtain full control over the storefront - including payment-gateway credentials and customer personally identifiable information - converting a limited administrative account into a complete compromise of the commerce platform. Leadership should care because the affected data and integrations sit at the center of PCI and privacy obligations, and the flaw requires no user interaction or non-default configuration to trigger.
No vendor-released patch identified at time of analysis; interim mitigations include restricting or removing the settings.users.edit permission from non-administrator backend accounts, adding server-side authorization checks so users cannot change their own role and cannot grant permissions exceeding their own, blocking admin-panel access to allow-listed networks, rotating payment-gateway credentials and reviewing customer PII access logs, and monitoring/alerting on role and permission changes. Note: the vulnerability is confirmed to require an authenticated low-privileged backend credential (CVSS vector PR:L), and no public exploit identified at time of analysis.
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.
Bagisto eCommerce platform before 2.3.10 is vulnerable to server-side template injection (SSTI) through customer address
Bagisto eCommerce platform (2.3 branch before 2.3.10) leaves installation API routes active after setup, allowing unauth
Bagisto eCommerce platform versions before 2.3.10 suffer from server-side template injection through user-controllable f
Bagisto v1.5.1 is vulnerable to Server-Side Template Injection (SSTI). Rated high severity (CVSS 8.8), this vulnerabilit
In Webkul Bagisto before 0.1.5, the functionalities for customers to change their own values (such as address, review, o
Bagisto 0.1.5 allows CSRF under /admin URIs. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable,
Arbitrary file read in Bagisto v2.4.1 allows unauthenticated remote attackers to retrieve sensitive files outside the we
Stored XSS in Bagisto's CMS page editor allows authenticated attackers to bypass input sanitization by crafting maliciou
Bagisto is an open source laravel eCommerce platform. [CVSS 7.1 HIGH]
CSV formula injection in Bagisto through 2.3.7 allows a user who can create or edit product data to store spreadsheet fo
Server-side template injection in Bagisto 2.3.7 lets an authenticated backend user with product-creation privileges inje
Bagisto v1.5.1 is vulnerable for Cross site scripting(XSS) via png file upload vulnerability in product review option. R
EUVD-2026-79300
GHSA-qx3f-h864-653p
NVD
CVE.org
EPSS
Exploit-DB