CVE-2026-72843

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".
Configurations

No configuration.

History

18 Oct 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) La ruta de actualización de clientes en EverShop está declarada con 'access': 'public' en packages/evershop/src/modules/customer/api/updateCustomer/route.json, lo que provoca que el middleware de autenticación de administrador llame a next() sin verificar al llamador, y ningún middleware de sesión de cliente protege la ruta; el único middleware en la cadena analiza el cuerpo JSON. El gestor en updateCustomer.js luego carga al cliente por el uuid tomado de la ruta URL y escribe los campos proporcionados de nuevo en ese registro, aplicando hash a una contraseña si se proporciona una, sin verificar que el llamador sea el propietario del registro. Una solicitud no autenticada que lleva un uuid de cliente conocido puede, por lo tanto, sobrescribir la dirección de correo electrónico y la contraseña de ese cliente y leer el registro actualizado de la respuesta 200, tomando el control de la cuenta y bloqueando a su propietario. Los uuids de cliente están expuestos a través de enlaces de correo electrónico de confirmación de pedido y URLs administrativas. La versión 2.2.1 cambia la ruta a 'access': 'private'.

Information

Published : 2026-08-20 22:18

Updated : 2026-10-18 20:10


NVD link : CVE-2026-72843

Mitre link : CVE-2026-72843

CVE.ORG link : CVE-2026-72843


JSON object : View

Products Affected

No product.

CWE
CWE-862

Missing Authorization