HIGH 8.1

CVE-2026-57950: ruoyi-vue-pro Permission Bypass Affecting ERP Sale Orders

CVE-2026-57950 is a privilege-escalation vulnerability in ruoyi-vue-pro, an open-source ERP framework. The flaw allows users with shipment-level permissions (specifically those with 'erp:sale-out' access) to bypass intended access controls and perform unauthorized operations on sale orders—including viewing, creating, modifying, and deleting sensitive financial records. The vulnerability stems from a misconfiguration in the ErpSaleOrderController where the code checks for the wrong permission namespace, creating a gap between intended and actual authorization boundaries. This is particularly risky because it affects financially sensitive transactions and can be exploited without any user interaction or network complexity; a single authenticated request is sufficient.

Source data · NVD / CISA · public domain

CVSS
3.1 · 8.1 HIGH · CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N
Weaknesses (CWE)
CWE-863
Affected products
0 configuration(s)
Published / Modified
2026-06-29 / 2026-07-14

NVD description (verbatim)

ruoyi-vue-pro through 2026.05, fixed in commit 5d1fd70 contains a broken access control vulnerability in ErpSaleOrderController that allows attackers with erp:sale-out permissions to gain unauthorized access to sale order operations by exploiting an incorrect permission namespace enforcement. Attackers holding shipment-level permissions can perform unauthorized create, update, delete, and read operations on financially sensitive sale orders due to the controller enforcing erp:sale-out instead of the intended erp:sale-order namespace.

4 reference(s) · View on NVD →

SEC.co analysis · AI-assisted, reviewed against source

Technical summary

The ErpSaleOrderController in ruoyi-vue-pro through version 2026.05 implements permission checks using the 'erp:sale-out' namespace when it should enforce 'erp:sale-order' permissions. This broken access control (CWE-863) allows authenticated users holding lower-privileged 'erp:sale-out' roles to perform CRUD operations on sale orders by exploiting the permission namespace mismatch. The vulnerability was remediated in commit 5d1fd70, which corrects the permission enforcement logic. The attack requires only network access and valid authentication—no elevated privileges or user interaction is needed, making exploitation straightforward for any authenticated user on the system.

Business impact

This vulnerability can lead to unauthorized modification or deletion of financial sale order records, enabling data tampering, fraudulent transactions, or inventory manipulation. Organizations using affected versions face risks of financial statement inaccuracy, audit trail compromise, and potential regulatory non-compliance. The ability to both read and modify sensitive orders creates liability exposure and may result in undetected fraud. Supply chain and order fulfillment processes could be disrupted through unauthorized deletions or modifications. The CVSS 8.1 severity reflects the high-integrity and confidentiality impact to business-critical financial data.

Affected systems

ruoyi-vue-pro versions through 2026.05 are affected. The vulnerability is present in the ErpSaleOrderController module, which is part of the core ERP functionality. Any deployment of affected versions with multi-user environments and role-based access control enabled is at risk. Systems where users are provisioned with 'erp:sale-out' permissions are directly vulnerable. The software is widely used in Asia-Pacific organizations and appears in numerous open-source deployments; verify your ruoyi-vue-pro version and whether ErpSaleOrderController is in use.

Exploitability

This vulnerability has low exploitation barriers. It requires only network connectivity and valid system credentials (any user with 'erp:sale-out' role). No special tools, code execution, or user interaction are needed. A simple authenticated HTTP request to the ErpSaleOrderController endpoints can trigger unauthorized operations. The attack is deterministic and leaves standard audit trails unless logging is specifically disabled. Because the flaw is in permission enforcement logic rather than requiring a complex attack chain, it is highly likely to be discovered through routine testing or accidental exploitation during normal system usage.

Remediation

Update ruoyi-vue-pro to a version that includes the fix from commit 5d1fd70 or later. This patch corrects the permission namespace enforcement in ErpSaleOrderController. After patching, validate that 'erp:sale-order' permissions are now correctly enforced and that users with 'erp:sale-out' access can no longer perform unauthorized sale order operations. Organizations should also review role assignments to ensure least-privilege principles are applied, restricting financial order access only to intended users. Test the patch in a staging environment to verify functional impact before production deployment.

Patch guidance

Apply the security patch from commit 5d1fd70 or later when updating ruoyi-vue-pro. Verify against the vendor's official release notes and commit history on their repository to confirm patch inclusion. Test the update in a non-production environment first to ensure compatibility with custom extensions or local modifications to ErpSaleOrderController. After deployment, audit existing role assignments to remove any unintended 'erp:sale-out' permissions that may have been leveraged during the vulnerable period. Confirm through functional testing that sale order operations now require the correct 'erp:sale-order' namespace permission.

Detection guidance

Monitor ErpSaleOrderController access logs for requests originating from users with 'erp:sale-out' permissions performing create, update, or delete operations on sale orders. Baseline typical sale order operations by role and alert on anomalies. Review database audit logs for unauthorized modifications to sale order records, particularly deletions or bulk updates. Check application logs for permission denial errors that may indicate exploitation attempts. Implement network-level detection rules for authenticated requests to ErpSaleOrderController endpoints followed by data modification events. Forensic investigation should focus on the period before patch deployment to identify whether the vulnerability was exploited.

Why prioritize this

This vulnerability merits urgent patching because it directly compromises financial data integrity through a straightforward, authenticated attack requiring no elevated privileges. The CVSS 8.1 score and the combination of high-impact (integrity and confidentiality of sensitive orders) with low-friction exploitation make this a material business and compliance risk. Sale order systems are typically subject to audit and regulatory requirements; unauthorized modifications could trigger audit failures and regulatory exposure. The fix is available and straightforward to apply, reducing patch complexity relative to the risk.

Risk score, explained

The CVSS 3.1 score of 8.1 (HIGH) reflects: network-accessible attack vector (AV:N), low attack complexity (AC:L), requirement for low privileges (PR:L), no user interaction needed (UI:N), unchanged scope (S:U), high confidentiality impact (C:H) through read access to sensitive orders, and high integrity impact (I:H) through unauthorized modification or deletion. The score appropriately emphasizes the integrity and confidentiality damage to financial data while accounting for the requirement of valid authentication credentials.

Frequently asked questions

Who is vulnerable to this issue?

Any organization using ruoyi-vue-pro versions up to and including 2026.05 is potentially vulnerable. Specific risk applies if your deployment uses ErpSaleOrderController and has multiple users provisioned with 'erp:sale-out' permissions. The risk is present in both self-hosted and managed deployments where user access controls are configured.

Can this vulnerability be exploited without authentication?

No. The vulnerability requires valid system credentials and an authenticated session. An attacker must hold at least 'erp:sale-out' role membership to access the affected functionality. However, this is often a standard shipment-processing role, so the barrier to exploitation within an organization is relatively low.

What should we do if we suspect unauthorized sale order modifications occurred during the vulnerable period?

Conduct a forensic review of sale order database audit logs between your initial deployment of the affected version and the date you applied the patch. Identify any modifications made by users with only 'erp:sale-out' permissions and verify their legitimacy. Cross-reference order modifications against change requests and approvals. Report findings to your finance and compliance teams, and consider a targeted audit of affected transactions.

Is there a workaround if I cannot patch immediately?

Temporary mitigation is limited to administrative controls: restrict or audit all users holding 'erp:sale-out' permissions to trusted individuals only, and implement external monitoring of ErpSaleOrderController access to detect anomalies. However, these measures are not a substitute for patching. Plan and execute the patch as soon as feasible in your maintenance window.

This analysis is provided for informational security purposes. The vulnerability assessment and CVSS scoring are based on published vendor information and the CVE record. Organizations should verify patch availability and version applicability against their specific deployment. SEC.co does not provide legal or compliance advice; consult your legal and compliance teams regarding regulatory reporting requirements. No exploit code or detailed attack steps are provided in this analysis. Always test patches in non-production environments before deployment. Source: NVD (public-domain), retrieved 2026-08-08. Analysis generated by SEC.co (claude-haiku-4-5).