CVE-2026-55739: CWE-639 Authorization Bypass Through User-Controlled Key in crater-invoice Crater
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).
AI Analysis
Technical Summary
Crater isolates data by company_id and enforces authorization checks on Invoice, Estimate, Payment, and Expense entities using both a Bouncer ability check and a company ownership check. However, the CustomerPolicy's view, update, and delete methods omit the company ownership verification, performing only a blanket ability check. Additionally, route-model-bound customer lookups and the bulk Customer::deleteCustomers method use unscoped queries without filtering by company_id. This design flaw leads to an authorization bypass (CWE-639), allowing users with certain privileges to access or modify customer data belonging to other companies.
Potential Impact
An attacker with limited privileges could bypass company ownership restrictions and view, update, or delete customer records belonging to other companies. This results in a high impact on confidentiality and integrity of customer data, with a low impact on availability. The CVSS 3.1 score is 8.2 (High), reflecting network attack vector, low complexity, low privileges required, no user interaction, and significant confidentiality and integrity impact.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict user privileges carefully and monitor for unauthorized access attempts. Avoid using affected CustomerPolicy methods without additional company ownership checks in custom code.
CVE-2026-55739: CWE-639 Authorization Bypass Through User-Controlled Key in crater-invoice Crater
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).
CVSS v3.1
Score 8.2high
Affected software
crater-invoice
Crater
pkg:github/crater-invoice/craterRun on your own infrastructure? Check whether these packages are installed with threat-finder — our free open-source scanner.
Weaknesses
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
Crater isolates data by company_id and enforces authorization checks on Invoice, Estimate, Payment, and Expense entities using both a Bouncer ability check and a company ownership check. However, the CustomerPolicy's view, update, and delete methods omit the company ownership verification, performing only a blanket ability check. Additionally, route-model-bound customer lookups and the bulk Customer::deleteCustomers method use unscoped queries without filtering by company_id. This design flaw leads to an authorization bypass (CWE-639), allowing users with certain privileges to access or modify customer data belonging to other companies.
Potential Impact
An attacker with limited privileges could bypass company ownership restrictions and view, update, or delete customer records belonging to other companies. This results in a high impact on confidentiality and integrity of customer data, with a low impact on availability. The CVSS 3.1 score is 8.2 (High), reflecting network attack vector, low complexity, low privileges required, no user interaction, and significant confidentiality and integrity impact.
Mitigation Recommendations
Patch status is not yet confirmed — check the vendor advisory for current remediation guidance. Until an official fix is available, restrict user privileges carefully and monitor for unauthorized access attempts. Avoid using affected CustomerPolicy methods without additional company ownership checks in custom code.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- TuranSec
- Date Reserved
- 2026-06-17T12:59:17.620Z
- Cvss Version
- 3.1
- State
- PUBLISHED
Threat ID: 6a72e5c6bf8831d539734f38
Added to database: 08/05/2026, 07:27:02 UTC
Last enriched: 08/12/2026, 14:23:27 UTC
Last updated: 09/17/2026, 22:01:36 UTC
Views: 45
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
External Links
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.