Description
Crater isolates data per company_id, and its Invoice/Estimate/Payment/Expense policies enforce both a Bouncer ability check and $user->hasCompany($model->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($id) with no company filter). Any authenticated user of one company can read, reassign (steal), or delete another company's customer records, with deletion cascading to that customer's invoices and payments.
Published: 2026-08-05
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Crater intends to isolate tenant data by associating records with a company ID. However, the CustomerPolicy class omitted the tenant‑ownership check, allowing any authenticated user who is granted broad Bouncer permission to view, update, or delete customer records belonging to another company. Because the policy does not limit actions to the current user’s company, a customer record can be read, reassigned, or permanently deleted, and the deletion cascades to that customer’s invoices and payments. The net effect is a violation of confidentiality and integrity for the affected company, with the potential for economic loss.

Affected Systems

This flaw exists in the Crater invoice management software from crater‑invoice. All versions lacking the security fix are vulnerable; no specific version range is listed, so organizations should assume the default installation is impacted until an update is applied.

Risk and Exploitability

The CVSS score of 8.2 indicates high severity, and although no EPSS score is reported, the vulnerability can be exploited by any authenticated user within a tenant, making it a relatively low‑effort attack once the user has credentials. The flaw is not listed in CISA’s KEV catalog, and no publicly known exploits are cited. Nonetheless, the combination of internal user access and lack of scoping creates a significant risk to organization data and requires prompt remediation.

Generated by OpenCVE AI on August 5, 2026 at 08:23 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Deploy the latest patch from Crater that adds a company‑ownership check to CustomerPolicy; obtain the update from the official repository or vendor portal.
  • If a patch is not yet available, implement a temporary rule in the application to enforce a company id comparison whenever a customer record is accessed, updated, or deleted.
  • Restrict roles that have blanket Bouncer permissions across tenants; apply least privilege by limiting such global abilities to a minimal administrative group.
  • Enable monitoring and logging for all customer‑record operations to detect anomalous cross‑tenant activity and alert security teams promptly.

Generated by OpenCVE AI on August 5, 2026 at 08:23 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Wed, 05 Aug 2026 07:30:00 +0000

Type Values Removed Values Added
Description Crater isolates data per company_id, and its Invoice/Estimate/Payment/Expense policies enforce both a Bouncer ability check and $user->hasCompany($model->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($id) with no company filter). Any authenticated user of one company can read, reassign (steal), or delete another company's customer records, with deletion cascading to that customer's invoices and payments.
Title Crater: Missing Tenant-Ownership Check in CustomerPolicy Allows Cross-Company Customer Data Theft and Deletion
Weaknesses CWE-639
References
Metrics cvssV3_1

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


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-05T06:58:38.155Z

Reserved: 2026-06-17T12:59:17.620Z

Link: CVE-2026-55739

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T08:30:04Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key