Vulnerabilidad · Publicado 05/08/2026
Crater presenta una falla alta en su NotePolicy que valida permisos genéricos (manage-all-notes/view-all-notes) sin verificar la propiedad de la empresa asociada, a diferencia de InvoicePolicy. Los controladores NotesController permiten acciones show(), update() y destroy() sin pasar el modelo Note afectado, exponiendo notas de otras organizaciones. Este defecto afecta a empresas en LATAM que usan Crater para gestión de facturas y documentación.
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).
Score: 8.3/10 — Severidad: HIGH — Estado NIST: Received
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:L
CWE-639
Publicado en NIST NVD.