Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2026-21447

CVE-2026-21447: Webkul Bagisto Auth Bypass Vulnerability

CVE-2026-21447 is an authentication bypass flaw in Webkul Bagisto that allows authenticated customers to access other customers' order data via IDOR. This article covers technical details, affected versions, and patches.

Updated:

CVE-2026-21447 Overview

CVE-2026-21447 is an Insecure Direct Object Reference (IDOR) vulnerability discovered in Bagisto, an open source Laravel-based eCommerce platform developed by Webkul. The vulnerability exists in the customer order reorder function, where insufficient authorization checks allow any authenticated customer to manipulate the order ID parameter and add items from another customer's order to their own shopping cart. This flaw exposes sensitive purchase information and creates opportunities for potential fraud.

Critical Impact

Authenticated attackers can access other customers' order details and add their items to the attacker's cart, exposing sensitive purchase history and enabling potential fraud through unauthorized access to order data.

Affected Products

  • Webkul Bagisto versions prior to 2.3.10
  • Bagisto installations using the customer reorder functionality
  • All Laravel deployments running vulnerable Bagisto versions

Discovery Timeline

  • 2026-01-02 - CVE CVE-2026-21447 published to NVD
  • 2026-01-08 - Last updated in NVD database

Technical Details for CVE-2026-21447

Vulnerability Analysis

This vulnerability falls under CWE-284 (Improper Access Control), specifically manifesting as an Insecure Direct Object Reference (IDOR). The flaw resides in the customer order reorder functionality of the Bagisto eCommerce platform. When a customer initiates a reorder action, the application accepts an order ID parameter but fails to verify that the requesting user is the legitimate owner of that order.

The vulnerability allows an authenticated user to enumerate or guess order IDs belonging to other customers. When successful, the attacker can add items from those orders to their own shopping cart, effectively gaining unauthorized access to other customers' purchase details including product selections, quantities, and potentially pricing information.

Root Cause

The root cause is the absence of proper authorization checks in the reorder controller logic. While the application requires authentication (the user must be logged in), it does not implement ownership validation to confirm that the order being reordered actually belongs to the authenticated session's user. This is a classic broken access control pattern where authentication is present but authorization is missing.

Attack Vector

The attack is network-based and requires low complexity to execute. An attacker needs only valid credentials to any customer account on the target Bagisto installation. Once authenticated, the attacker can manipulate the order ID parameter in the reorder request—either through browser developer tools, a proxy like Burp Suite, or simple URL manipulation.

The attacker can iterate through order IDs sequentially or use targeted IDs if known. For each valid order ID belonging to another customer, the attacker can view order contents as items are added to their cart, revealing sensitive purchase information such as product preferences, quantities ordered, and potentially custom product configurations.

Detection Methods for CVE-2026-21447

Indicators of Compromise

  • Unusual patterns of cart additions where items appear without corresponding browsing or search activity
  • Multiple rapid reorder requests with different order IDs from a single authenticated session
  • Log entries showing reorder actions for orders not belonging to the requesting user
  • Customer complaints about items appearing in their cart that they did not add

Detection Strategies

  • Implement logging that correlates order IDs in reorder requests with the authenticated user's order history
  • Monitor for sequential order ID enumeration patterns in application logs
  • Deploy web application firewall (WAF) rules to detect parameter manipulation in reorder endpoints
  • Review access logs for anomalous reorder request volumes from individual user sessions

Monitoring Recommendations

  • Enable detailed audit logging for all cart modification actions including the source order ID and authenticated user
  • Set up alerting for reorder attempts where order ownership validation fails
  • Monitor application error logs for access control exceptions in the order handling module
  • Implement real-time anomaly detection for cart activity patterns that deviate from user baseline behavior

How to Mitigate CVE-2026-21447

Immediate Actions Required

  • Upgrade Bagisto to version 2.3.10 or later immediately
  • Audit application logs for historical exploitation attempts by reviewing reorder actions
  • Consider temporarily disabling the reorder functionality if immediate patching is not possible
  • Notify customers if unauthorized access to their order data is suspected

Patch Information

Webkul has released version 2.3.10 of Bagisto to address this vulnerability. The fix implements proper authorization checks to verify that the authenticated user owns the order before allowing the reorder action. The patch is available through the official Bagisto repository.

For detailed information about the security fix, refer to the GitHub Security Advisory GHSA-x5rw-qvvp-5cgm and the patch commit.

Workarounds

  • Disable the customer reorder functionality at the application or web server level until patching is complete
  • Implement a custom middleware that validates order ownership before processing reorder requests
  • Use a reverse proxy or WAF to block or rate-limit requests to the reorder endpoint
  • Restrict access to the reorder feature to trusted customer accounts only as a temporary measure
bash
# Example: Disable reorder route in Laravel routes file (temporary workaround)
# Comment out or remove the reorder route in routes/web.php
# Route::post('customer/orders/{id}/reorder', [OrderController::class, 'reorder']);

# Alternative: Use .htaccess to block the endpoint temporarily
# Add to .htaccess in public directory:
# RewriteRule ^customer/orders/.*/reorder$ - [F,L]

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.