Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged API user
-
DeliverySubmit create/update to partners/sales/inventories endpoint
-
ExploitSupply foreign company_id in payload
-
ExecutionBypass multi-company authorization check
-
ImpactWrite record into victim company's data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Object-level authorization, IDOR prevention
|
| Exploitation Conditions | Requires a valid authenticated account with API access to the affected plugin REST endpoints (partners, sales, inventories, and accounts request handlers), consistent with PR:L - it is not exploitable by anonymous/unauthenticated attackers. The instance must actually use the multi-company feature so that more than one company_id exists and data segregation is meaningful; on single-company deployments there is no cross-tenant boundary to break. Exploitation specifically abuses the user-controlled company_id parameter, which pre-patch was validated only with 'exists:companies,id' (existence) and not against the caller's allowed companies. No user interaction and no special non-default configuration beyond multi-company usage is required; the limiting factors are therefore the authentication requirement and the presence of multiple companies. |
| Impact | This is a medium-severity authorization/IDOR flaw (CWE-639) whose real-world priority is moderate-to-low. The vendor CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N, 5.3) is internally consistent with the description: exploitation is network-reachable and low-complexity but requires an authenticated low-privileged API account (PR:L), which materially limits the attacker population to existing tenants/users rather than anonymous internet attackers. Impact is partial confidentiality and integrity (VC:L/VI:L) with no availability impact - the attacker corrupts multi-company data segregation rather than taking over the system. No EPSS score was provided in the input, so exploitation probability cannot be quantified; it is NOT in CISA KEV and no exploit-code flag was supplied, so there is no evidence of active or automated exploitation. A third-party write-up (hackmd) and a detailed VulnCheck advisory exist, raising the practical likelihood that working exploitation steps are public, but the input does not flag a POC, so this is not confirmed. Net: a genuine multi-tenancy integrity issue worth patching for multi-company deployments, but not an emergency on the level of an unauthenticated RCE - the authentication requirement and bounded (Low) impact keep real-world risk contained. |
| Exploit ScenarioDerived | A legitimate low-privileged user of one company (tenant) on a shared Aureus ERP instance sends an authenticated create or update request to a plugin REST API endpoint (e.g. partners, sales, or inventories) with a company_id belonging to a different company. Because the pre-patch validation only checked that the company exists (exists:companies,id) and not that the caller is allowed to use it, the record is created in or moved into the victim company, breaking data segregation. A public VulnCheck advisory and a hackmd write-up describe the issue, though no exploit tool is confirmed in the input. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 16, 2026
Authenticated API users of Aureus ERP through 1.6.0 can create new records or move existing ones into companies they are not entitled to by submitting a foreign company_id to plugin REST endpoints, breaking the multi-company data segregation that the ERP relies on. The flaw is an IDOR/authorization bypass (CWE-639) in the Laravel Form Request validation of partners, sales, inventories, and accounts handlers, which checked only that the supplied company_id existed and never that it belonged to the caller's allowed companies; it is exploitable only by an authenticated account with API access and only on deployments that actually use more than one company. Rated 5.3 (CVSS 4.0) and independently assessed as CVSS 3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N, its real-world priority is moderate-to-low, patch code is available upstream, and no public exploit was identified at time of analysis.
RemediationAI
Apply the upstream fix commit 5dab06a958d1e7546cf9f2ebf48f9843909ed972 (https://github.com/aureuserp/aureuserp/commit/5dab06a958d1e7546cf9f2ebf48f9843909ed972), which adds the Webkul\Support\Rules\WithinAllowedCompanies rule to the company_id validation in the accounts, inventories, partners and sales Form Request classes; note this is an upstream fix available via PR/commit and a released patched version number was not independently confirmed, so confirm with the vendor advisory (https://www.vulncheck.com/advisories/aureus-erp-through-1.6.0-multi-company-authorization-bypass-via-company-id) before assuming a given build is clean, and upgrade past 1.6.0 once a tagged release containing the change is published. If immediate patching is not possible, the most effective compensating control is to stop cross-company creation at the data layer by tightening every API user's allowed-companies set (e.g. syncing allowedCompanies() so that only one company is assignable) - the trade-off is that legitimate multi-company operators lose the ability to file records under other entities until patched. As a second layer, restrict the plugin REST API surface (partners, sales, inventories, accounts endpoints) to trusted service accounts, rotate or revoke API tokens for users who do not need write access, and log/alert on create or update requests whose company_id differs from the caller's own company - this is detective rather than preventive and generates noise on healthy instances. Reviewing existing records for company_id values outside the owning user's allowed set is also advisable, since pre-patch writes may already have crossed tenant boundaries and would not be reverted by the patch itself.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Aureus ERP is a Laravel/PHP ERP whose functionality is delivered through plugins (webkul partners, sales, inventories, accounts). Incoming REST API payloads are validated by Form Request classes such as PartnerRequest, LocationRequest, JournalRequest, TaxRequest and FiscalPositionRequest, and records are scoped to a tenant by a BelongsToCompany trait that keys off the company_id column. Before the fix, each of these request classes validated company_id with only 'nullable|integer|exists:companies,id' - an existence check against the companies table that never compared the value against the authenticated user's allowedCompanies() relation. This is the classic CWE-639 "Authorization Bypass Through User-Controlled Key" pattern: the authorization decision is derived from a client-supplied identifier rather than from server-side ownership. The upstream remediation at commit 5dab06a958d1e7546cf9f2ebf48f9843909ed972 introduces a Webkul\Support\Rules\WithinAllowedCompanies validation rule and appends it after 'exists:companies,id' on every affected request class, plus test changes that sync the acting user's allowed companies, so that a company_id outside the caller's permitted set is rejected at validation time rather than silently persisted.
Know when Aureuserp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
Network API reachable (AV:N) and low-complexity (AC:L) but requires an authenticated low-privileged account (PR:L); partial cross-company read/write gives C:L/I:L, no availability impact, scope unchanged.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Aureus ERP through 1.6.0 contains an authorization bypass vulnerability that allows authenticated API users to create or move records into disallowed companies by supplying a foreign company_id. Attackers can submit create or update requests to plugin REST API endpoints such as partners, sales, or inventories to break multi-company data segregation.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Stored cross-site scripting in Aureus ERP through 1.6.0 allows an authenticated user who can create or edit Inventory Op
Aureus ERP installations running the Webkul Chatter plugin before version 1.5.0 expose every message, activity, and note
Stored cross-site scripting in Aureus ERP versions before 1.6.0 allows an authenticated user who can edit at least one t
EUVD-2026-103054
GHSA-2g8j-xm43-8gjj
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB