Description
Crater's NotePolicy checks only a blanket Bouncer ability (manage-all-notes / view-all-notes) with no company-ownership comparison, unlike InvoicePolicy and other sibling policies which additionally verify $user->hasCompany($model->company_id). NotesController's show(), update(), and destroy() actions authorize via $this->authorize('view notes'/'manage notes') without passing the target Note model, and Note's company-scoping (scopeWhereCompany) is applied only in the list endpoint, not in show/update/destroy. Any authenticated user of one company can read, edit, or delete another company's notes by ID. This is a distinct finding from the previously reported CustomerPolicy company-ownership omission (a different policy class and controller).
Published: 2026-08-05
Score: 8.2 High
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

Crater's NotePolicy does not enforce company‑ownership when authorizing note operations. The policy only checks for a blanket Bouncer ability, and the controller actions do not pass the target Note to the authorize call. Because of this, any authenticated user can read, edit, or delete notes of other companies by supplying a note ID. This is an IDOR (CWE‑639) that compromises confidentiality and integrity of sensitive data stored in the notes.

Affected Systems

The vulnerability impacts the open‑source invoicing application Crater from the vendor crater‑invoice. No specific release or version is identified in the advisory, so any current or future versions that retain the described policy logic may be affected until the fix is applied.

Risk and Exploitability

The CVSS score of 8.2 classifies it as High severity, and while an EPSS score is not provided, the vulnerability is straightforward to exploit by an authenticated user. Based on the description, it is inferred that the attack vector is through the web interface or API endpoints for show, update, and destroy actions, requiring only a valid user session. There is no indication of denial of service or remote code execution, but unauthorized access to other organizations' notes carries significant privacy and data integrity risks.

Generated by OpenCVE AI on August 5, 2026 at 12:51 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the latest Crater release that includes a company‑ownership check in NotePolicy.
  • If an update is not yet available, modify NotePolicy to verify $user->hasCompany($model->company_id) for view and manage actions and adjust NotesController to pass the Note instance to authorize() to prevent IDOR.
  • Review all policy classes and controllers for similar missing ownership validations to ensure comprehensive access control.

Generated by OpenCVE AI on August 5, 2026 at 12:51 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

References
History

Wed, 05 Aug 2026 11:15:00 +0000

Type Values Removed Values Added
Description Crater's NotePolicy checks only a blanket Bouncer ability (manage-all-notes / view-all-notes) with no company-ownership comparison, unlike InvoicePolicy and other sibling policies which additionally verify $user->hasCompany($model->company_id). NotesController's show(), update(), and destroy() actions authorize via $this->authorize('view notes'/'manage notes') without passing the target Note model, and Note's company-scoping (scopeWhereCompany) is applied only in the list endpoint, not in show/update/destroy. Any authenticated user of one company can read, edit, or delete another company's notes by ID. This is a distinct finding from the previously reported CustomerPolicy company-ownership omission (a different policy class and controller).
Title Crater: Cross-Company IDOR on Notes via Missing Company-Ownership Check in NotePolicy
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-05T12:52:20.107Z

Reserved: 2026-08-05T10:53:53.176Z

Link: CVE-2026-71242

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-05T13:00:16Z

Weaknesses
  • CWE-639

    Authorization Bypass Through User-Controlled Key