CVE-2026-60120: Bagisto Stored XSS via Customer Name Template Injection
Bagisto, an open-source e-commerce platform, has a stored cross-site scripting (XSS) vulnerability that allows attackers to inject malicious code into customer accounts. An unauthenticated attacker can register a customer account and embed JavaScript in the first or last name field. When an administrator later views that customer's order creation page, the malicious code executes in their browser with administrator privileges. This can lead to unauthorized actions, session hijacking, or further compromise of the Bagisto admin panel.
Source data · NVD / CISA · public domain
- CVSS
- 3.1 · 5.4 MEDIUM · CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:N/I:L/A:L
- Weaknesses (CWE)
- CWE-79
- Affected products
- 0 configuration(s)
- Published / Modified
- 2026-07-09 / 2026-07-14
NVD description (verbatim)
Bagisto before 2.4.4 contains a stored cross-site scripting vulnerability via client-side template injection that allows unauthenticated attackers to execute arbitrary JavaScript in administrator browsers by registering a customer account with malicious payload in the first or last name field. The create.blade.php template renders customer name fields without the Vue.js v-pre directive, causing Vue.js to evaluate stored template expressions as live JavaScript when an administrator opens the Create Order page for the affected customer.
3 reference(s) · View on NVD →
SEC.co analysis · AI-assisted, reviewed against source
Technical summary
CVE-2026-60120 is a stored XSS vulnerability stemming from improper template rendering in Bagisto's order creation interface. The vulnerability exists in the create.blade.php template, which renders customer name fields without the Vue.js v-pre directive. Because v-pre is omitted, Vue.js treats the stored customer name as a template expression and evaluates it as live JavaScript when an administrator accesses the Create Order page. The attack chain requires only account registration (unauthenticated) and user interaction (administrator visiting the affected page), making the barrier to exploitation low. The vulnerability affects Bagisto versions prior to 2.4.4.
Business impact
Exploitation of this vulnerability could allow attackers to compromise administrator sessions, exfiltrate sensitive customer or order data, modify orders or customer records, or establish persistent backdoors within the Bagisto admin interface. For e-commerce operators, this represents a risk to business continuity, customer trust, and potential compliance violations if customer data is accessed or altered. The attack requires administrator interaction but no special privileges from the attacker, making it a practical concern for any Bagisto deployment with multiple administrator accounts.
Affected systems
Bagisto versions before 2.4.4 are affected. The vulnerability exists in the customer account creation workflow and the order creation interface. Any Bagisto installation that allows customer self-registration and has administrators who access the Create Order page is vulnerable. Versions 2.4.4 and later are expected to include mitigations; verify against the official vendor advisory for complete version information and patch availability across different release branches.
Exploitability
This vulnerability is relatively straightforward to exploit. An attacker needs only to register a free customer account (unauthenticated) and inject a malicious payload into the first or last name field. The payload is stored server-side and triggers automatically when any administrator opens the Create Order page for that customer. No special network positioning, credential compromise, or complex interaction is required beyond social engineering or natural administrative workflow. The CVSS score of 5.4 (MEDIUM) reflects the requirement for administrator interaction (UI:R) and the ability to cause integrity and availability impact (I:L/A:L) rather than confidentiality breach.
Remediation
Upgrade Bagisto to version 2.4.4 or later. This version is expected to include the v-pre directive in the create.blade.php template to prevent Vue.js from evaluating stored name fields as template expressions. For deployments unable to upgrade immediately, implement a temporary input validation policy that sanitizes or rejects customer names containing template syntax (e.g., double curly braces, Vue directives), though this is not a complete substitute for the official patch. Additionally, restrict access to the Create Order page to a minimal set of trusted administrators.
Patch guidance
Apply the official Bagisto security update to version 2.4.4 or later as soon as possible. Consult the official Bagisto release notes and security advisory for verification of patch contents and compatibility with your specific deployment. Test the patch in a non-production environment first, particularly if you have custom templates or Vue.js extensions that may interact with the updated create.blade.php file. After patching, verify that the v-pre directive is present in your create.blade.php template to confirm the fix has been applied.
Detection guidance
Monitor for suspicious customer account registrations containing template injection payloads in name fields—look for strings such as {{ }}, [[ ]], or Vue.js directives (v-if, v-show, v-bind) in customer first or last names. Review administrator activity logs for access to the Create Order page, and correlate with any subsequent suspicious browser activity or admin actions. On the server side, check your Bagisto database for customer records with names containing template syntax. Additionally, monitor browser console errors or JavaScript execution anomalies in administrator sessions accessing the Create Order page with affected customer records.
Why prioritize this
While the CVSS score is MEDIUM (5.4), this vulnerability warrants prioritized attention because it enables unauthorized administrator impersonation and data manipulation in e-commerce systems. The attack surface is broad (any customer registration), the barrier to exploitation is low (no authentication required for the attacker), and the impact targets high-value administrative functions. For organizations operating Bagisto in multi-tenant or high-transaction environments, this poses a direct risk to revenue, compliance, and customer trust. Early patching prevents potential supply chain or data theft scenarios.
Risk score, explained
The CVSS 3.1 score of 5.4 reflects a network-exploitable vulnerability (AV:N) with low attack complexity (AC:L) that can be triggered by an unauthenticated attacker (PR:L refers to the attacker's minimal privilege—account registration). However, the score accounts for the requirement that an administrator must interact with the malicious content (UI:R). The impact is limited to integrity and availability (I:L/A:L) rather than confidentiality; attackers cannot read data directly but can manipulate it. The scope is changed (S:C), meaning the vulnerability can affect resources beyond the vulnerable component. In practical terms, the score may understate risk for high-value Bagisto deployments where administrator compromise is highly damaging.
Frequently asked questions
Can unauthenticated attackers directly read customer or order data through this vulnerability?
No. This vulnerability allows attackers to inject and execute JavaScript in administrator browsers, which could then be used to steal data or perform actions on behalf of the administrator. However, the attacker cannot directly access the database or bypass authentication themselves.
Does this vulnerability affect customer-facing pages, or only the admin panel?
It affects the admin panel specifically. The vulnerability triggers when an administrator visits the Create Order page for a customer with a malicious name payload. Regular customers viewing the storefront are not directly impacted, though their orders or data could be manipulated if an admin is compromised.
What should I do if I cannot upgrade to 2.4.4 immediately?
As a temporary mitigation, restrict admin access to trusted personnel, disable or limit customer self-registration if business allows, and monitor customer name fields for suspicious template syntax. However, these are not substitutes for the official patch. Prioritize testing and deploying version 2.4.4 or later as soon as feasible.
Is this vulnerability actively exploited in the wild?
As of the publication date, this vulnerability is not listed in CISA's Known Exploited Vulnerabilities (KEV) catalog, suggesting limited active exploitation at this time. However, the low barrier to exploitation means it could be weaponized quickly once widely known. Do not delay patching based on this status.
This analysis is based on publicly available vulnerability data and official vendor advisories as of the publication date. The information provided is for informational purposes and should not be construed as legal or professional advice. Organizations should verify all patch version numbers, compatibility notes, and remediation steps against official Bagisto releases and their own internal testing before deploying changes to production systems. SEC.co makes no warranty regarding the completeness or accuracy of this intelligence relative to specific deployments or threat landscapes. Consult with your security team and vendor to assess risk and remediation priority for your environment. Source: NVD (public-domain), retrieved 2026-08-17. Analysis generated by SEC.co (claude-haiku-4-5).
Weaknesses (CWE)
Related vulnerabilities
- CVE-2016-20070MEDIUMPrivilege Escalation & Stored XSS in WordPress Booking Calendar Contact Form 1.0.23
- CVE-2018-25384MEDIUMStored XSS in Wikidforum 2.20 Allows Authenticated Attackers to Inject Malicious Scripts
- CVE-2019-25731MEDIUMStored XSS in Zuz Music 2.1 Contact Form
- CVE-2019-25737MEDIUMStored XSS in Live Chat Unlimited 2.8.3 – Admin Session Compromise
- CVE-2019-25739MEDIUMGigToDo 1.3 Stored XSS Vulnerability in Proposal Descriptions
- CVE-2019-25742MEDIUMStored XSS in Zoner Real Estate WordPress Theme 4.1.1 – Admin Account Compromise Risk
- CVE-2019-25743MEDIUMWordPress Soliloquy Lite 2.5.6 Stored XSS Vulnerability
- CVE-2019-25744MEDIUMWordPress Popup Builder 3.49 Stored XSS Vulnerability – Exploit Prevention & Patch Guide