/

CVE-2026-95655

Severity:

HIGH RISK

(8.1)

Broken Access Control (CWE-639) in Aureus ChatterPanel

CVE-2026-95655

Deferred

Vulnerability type

Category:

Broken Object Level Authorization

CWE:

CWE-639

Impact:

Unauthorized access and modification of messages

Severity:

HIGH RISK

(8.1)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

Aureus ERP contains an authorization flaw in ChatterPanel message lookups, where message access is not properly restricted to the current record or user's permitted scope. An authenticated user may exploit predictable message identifiers to view or modify messages belonging to other departments or companies.

Affected context

The issue occurs in Aureus ERP deployments using the ChatterPanel component when message lookups rely on a client-supplied or otherwise predictable message identifier without consistently checking whether the requested message belongs to the current record, department, company, or user authorization scope. The risk is greater in multi-department or multi-company environments where message records contain information separated by organizational boundaries.

Exploit preconditions

  • Attack surface: ChatterPanel message lookup and management functions
  • Required access: An authenticated Aureus ERP account with access to the affected functionality
  • Trigger point: Requests that reference message records by identifier
  • Why exploitation is possible: Authorization checks do not reliably bind the requested message to the current record or the user's permitted organizational scope

Why this happens

The underlying bug is an object-level authorization failure mapped to CWE-639: Authorization Bypass Through User-Controlled Key. The application appears to trust a message identifier supplied through a request without enforcing an independent server-side relationship check between that message and the requesting user's authorized context. As a result, knowing or enumerating valid identifiers can expose operations on objects outside the user's intended scope.

Potential impact

  • Attackers may read confidential messages or notes
  • Attackers could enumerate message records across the system
  • Unauthorized users may edit or delete messages
  • Attackers may pin messages in other departments or companies
  • The issue can contribute to cross-tenant data exposure and integrity loss

General mitigation guidance

Mitigation generally focuses on enforcing authorization for every object access and state-changing operation.

Common defensive patterns include:

  • Deriving authorization scope from the authenticated server-side context rather than trusting client-supplied ownership fields
  • Checking that each message belongs to an authorized record, department, company, or tenant before returning or modifying it
  • Applying the same object-level authorization checks to read, edit, delete, and pin operations
  • Using deny-by-default policies and least-privilege role definitions
  • Avoiding reliance on sequential or opaque identifiers as an access-control mechanism
  • Reducing cross-company and cross-department data visibility through centralized policy enforcement

How teams detect issues like this

Detection approaches can include:

  • Static analysis and code review for database lookups keyed only by request parameters
  • Review signals where object retrieval occurs without a subsequent ownership, tenant, or relationship authorization check
  • Authorization tests that compare access to permitted and unrelated records across departments or companies
  • Dynamic testing with authenticated accounts having different organizational scopes
  • Policy enforcement requiring centralized authorization middleware for all object-level operations
  • Automated security review tools that flag direct object references without visible access-control validation

Sources

SourceLink
github.comgithub.com/aureuserp/aureuserp
github.comgithub.com/aureuserp/aureuserp/blob/v1.4.0/plugins/webkul/chatter/src/Livewire/ChatterPanel.php#L503
github.comgithub.com/aureuserp/aureuserp/blob/v1.4.0/plugins/webkul/chatter/src/Livewire/ChatterPanel.php#L685
github.comgithub.com/aureuserp/aureuserp/commit/d3d5ac20ec544e97636490db6f86a391c04ce899
github.comgithub.com/aureuserp/aureuserp/pull/1382
github.comgithub.com/aureuserp/aureuserp/releases/tag/v1.5.0
hackmd.iohackmd.io/@leediay/idor-chatter-messager-aureus
vulncheck.comvulncheck.com/advisories/aureus-erp-before-1.5.0-unscoped-message-access-via-chatterpanel

Frequently asked

questions

It may be exploitable through normal ChatterPanel requests when the attacker can authenticate and reach the affected message functionality.

An attacker generally needs a valid Aureus ERP account with access to ChatterPanel. Elevated administrative privileges may not be required if object-level checks are missing.

Enforce server-side authorization for every message operation, verifying that the requested object is within the authenticated user's permitted record, department, company, or tenant scope.

Use centralized object-level authorization, test cross-scope access boundaries, avoid treating identifiers as authorization evidence, and require security review for all endpoints that retrieve or mutate records by ID.

Find out what's already
exploitable in your codebase.