CVE-2026-55739

Crater isolates data per company_id, and its Invoice/Estimate/Payment/Expense policies enforce both a Bouncer ability check and ->hasCompany(->company_id). CustomerPolicy's view/update/delete methods omit the company-ownership check entirely, checking only the blanket ability. Route-model-bound customer lookups and the bulk Customer::deleteCustomers method are similarly unscoped (self::find with no company filter).
References
Configurations

No configuration.

History

24 Oct 2026, 16:10

Type Values Removed Values Added
Summary (es) Crater aísla los datos por company_id, y sus políticas de Factura/Estimación/Pago/Gasto aplican tanto una verificación de habilidad de Bouncer como $user -> hasCompany($model -> company_id). Los métodos view/update/delete de CustomerPolicy omiten por completo la verificación de propiedad de la empresa, verificando solo la habilidad general. Las búsquedas de clientes vinculadas a modelos de ruta y el método masivo Customer::deleteCustomers() están igualmente sin alcance (self::find($id) sin filtro de empresa). Cualquier usuario autenticado de una empresa puede leer, reasignar (robar) o eliminar los registros de clientes de otra empresa, con la eliminación en cascada a las facturas y pagos de ese cliente. (es) Crater aísla los datos por company_id, y sus políticas de Factura/Estimación/Pago/Gasto aplican tanto una verificación de habilidad de Bouncer como $user -mayor que hasCompany($model -mayor que company_id). Los métodos view/update/delete de CustomerPolicy omiten por completo la verificación de propiedad de la empresa, verificando solo la habilidad general. Las búsquedas de clientes vinculadas a modelos de ruta y el método masivo Customer::deleteCustomers() están igualmente sin alcance (self::find($id) sin filtro de empresa). Cualquier usuario autenticado de una empresa puede leer, reasignar (robar) o eliminar los registros de clientes de otra empresa, con la eliminación en cascada a las facturas y pagos de ese cliente.

23 Oct 2026, 21:10

Type Values Removed Values Added
Summary
  • (es) Crater aísla los datos por company_id, y sus políticas de Factura/Estimación/Pago/Gasto aplican tanto una verificación de habilidad de Bouncer como $user -> hasCompany($model -> company_id). Los métodos view/update/delete de CustomerPolicy omiten por completo la verificación de propiedad de la empresa, verificando solo la habilidad general. Las búsquedas de clientes vinculadas a modelos de ruta y el método masivo Customer::deleteCustomers() están igualmente sin alcance (self::find($id) sin filtro de empresa). Cualquier usuario autenticado de una empresa puede leer, reasignar (robar) o eliminar los registros de clientes de otra empresa, con la eliminación en cascada a las facturas y pagos de ese cliente.

Information

Published : 2026-08-05 08:16

Updated : 2026-10-24 16:10


NVD link : CVE-2026-55739

Mitre link : CVE-2026-55739

CVE.ORG link : CVE-2026-55739


JSON object : View

Products Affected

No product.

CWE
CWE-639

Authorization Bypass Through User-Controlled Key