Description
The customer update route in EverShop is declared with "access": "public" in packages/evershop/src/modules/customer/api/updateCustomer/route.json, which causes the admin authentication middleware to call next() without checking the caller, and no customer-session middleware guards the route; the only middleware in the chain parses the JSON body. The handler in updateCustomer.js then loads the customer by the uuid taken from the URL path and writes the supplied fields back to that record, hashing a password if one is provided, without verifying that the caller owns the record. An unauthenticated request carrying a known customer uuid can therefore overwrite that customer's email address and password and read back the updated record from the 200 response, taking over the account and locking out its owner. Customer uuids are exposed through order confirmation email links and administrative URLs. Version 2.2.1 changes the route to "access": "private".
Published: 2026-08-20
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Unauthenticated Account Takeover
Action: Immediate Patch
AI Analysis

Impact

An update route for customers was incorrectly exposed as public, bypassing authentication checks. The route allows any caller to send a PATCH request with a user ID in the URL and arbitrary fields, causing the system to write the supplied data to the target customer's record. An attacker who knows a customer’s UUID can overwrite that user’s email address and password, gaining full account control and potentially locking out the legitimate owner.

Affected Systems

All releases of EverShop prior to version 2.2.1 are vulnerable. The fix in 2.2.1 changes the route to private, preventing unauthenticated access.

Risk and Exploitability

With a CVSS score of 9.3 the vulnerability is considered critical. No EPSS data is available, and the flaw is not listed in the CISA KEV catalog. The attack is derived from the public PATCH endpoint; an unauthenticated client can exploit the flaw by sending a crafted request with a known UUID, a path inferred from order confirmation emails or administrative URLs. Once exploited, the attacker can modify account credentials and read the 200 response containing the updated data.

Generated by OpenCVE AI on August 21, 2026 at 00:35 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to EverShop 2.2.1 or later where the PATCH /api/customers/:id route is secured.
  • If an upgrade cannot be performed immediately, enforce an authentication guard on the PATCH /api/customers/:id endpoint to verify the caller’s identity before processing the request.
  • Temporarily block or disable the vulnerable endpoint using a reverse proxy or firewall until the upstream patch is deployed.

Generated by OpenCVE AI on August 21, 2026 at 00:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Fri, 21 Aug 2026 13:30:00 +0000

Type Values Removed Values Added
First Time appeared Evershop
Evershop evershop
Vendors & Products Evershop
Evershop evershop

Thu, 20 Aug 2026 22:15:00 +0000

Type Values Removed Values Added
Description The customer update route in EverShop is declared with "access": "public" in packages/evershop/src/modules/customer/api/updateCustomer/route.json, which causes the admin authentication middleware to call next() without checking the caller, and no customer-session middleware guards the route; the only middleware in the chain parses the JSON body. The handler in updateCustomer.js then loads the customer by the uuid taken from the URL path and writes the supplied fields back to that record, hashing a password if one is provided, without verifying that the caller owns the record. An unauthenticated request carrying a known customer uuid can therefore overwrite that customer's email address and password and read back the updated record from the 200 response, taking over the account and locking out its owner. Customer uuids are exposed through order confirmation email links and administrative URLs. Version 2.2.1 changes the route to "access": "private".
Title EverShop Missing Authorization on PATCH /api/customers/:id Allows Unauthenticated Account Takeover
Weaknesses CWE-862
References
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}

cvssV4_0

{'score': 9.3, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}


Subscriptions

Evershop Evershop
cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-21T21:44:50.920Z

Reserved: 2026-08-10T15:14:51.467Z

Link: CVE-2026-72843

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-20T22:18:05.253

Modified: 2026-08-21T22:16:44.327

Link: CVE-2026-72843

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-21T13:00:25Z

Weaknesses