Description
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).
Published: 2026-08-05
Score: 8.2 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Crater isolates data per company_id, ensuring that invoices, estimates, payments, and expenses are scoped to a tenant. However, the CustomerPolicy view, update, and delete methods do not perform the necessary company‑ownership validation; they only check for a generic Bouncer permission. Likewise, route‑model bound lookups and bulk deletion ignore any company filter, using a plain find call. As a result, any authenticated user with a broad permission can read, modify, or permanently delete customers belonging to other companies, causing unauthorized disclosure, tampering, and potential cascading deletions of related financial records. This flaw undermines tenant isolation and data integrity.

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 the EPSS score of 0.00265 (approximately 0.265%) shows a very low overall probability of exploitation. Nevertheless, because the flaw can be leveraged by any authenticated user with a broad permission within a tenant, the attack requires only minimal effort once credentials are available. The vulnerability is not listed in the CISA KEV catalog and no publicly known exploits are cited, but the combination of internal access and lack of tenant scoping presents a significant risk to organizational data and mandates prompt remediation.

Generated by OpenCVE AI on August 10, 2026 at 23:02 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 10, 2026 at 23:02 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 10 Aug 2026 12:00: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. 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).

Mon, 10 Aug 2026 11:30:00 +0000

Type Values Removed Values Added
Title Crater: Missing Tenant-Ownership Check in CustomerPolicy Allows Cross-Company Customer Data Theft and Deletion Crater - Missing Tenant-Ownership Check in CustomerPolicy Allows Cross-Company Customer Data Theft and Deletion

Wed, 05 Aug 2026 09:45:00 +0000

Type Values Removed Values Added
First Time appeared Crater-invoice-inc
Crater-invoice-inc crater
Vendors & Products Crater-invoice-inc
Crater-invoice-inc crater

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

Crater-invoice-inc Crater
cve-icon MITRE

Status: PUBLISHED

Assigner: TuranSec

Published:

Updated: 2026-08-10T11:44:16.897Z

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

Link: CVE-2026-55739

cve-icon Vulnrichment

Updated: 2026-08-05T13:12:03.233Z

cve-icon NVD

Status : Received

Published: 2026-08-05T08:16:33.903

Modified: 2026-08-10T12:17:18.480

Link: CVE-2026-55739

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T23:15:05Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key