Skip to main content

Aureus ERP EUVDEUVD-2026-103054

| CVE-2026-111632 MEDIUM
Authorization Bypass Through User-Controlled Key (CWE-639)
2026-10-16 VulnCheck GHSA-2g8j-xm43-8gjj
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged API user
  2. Delivery
    Submit create/update to partners/sales/inventories endpoint
  3. Exploit
    Supply foreign company_id in payload
  4. Execution
    Bypass multi-company authorization check
  5. Impact
    Write 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

aureuserp 0 ≤1.6.0

Affected Packages

euvd aureuserp no fix

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 5.4 MEDIUM

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.

3.1 AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
Low
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 79% exploitable
Prevalence
Low
niche open-source self-hosted Laravel ERP, limited enterprise footprint
Data Quality
4 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy