Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege account
-
DeliveryCall unprotected /field/source endpoints
-
ExploitBypass denied module permission check
-
ExecutionPage through org-wide CRM records
-
ImpactExfiltrate leads, contacts, contracts and payment data
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires an authenticated CordysCRM account (PR:L) that has been explicitly DENIED module permission - the vulnerability lets exactly such a restricted user read data they should not see. The concrete prerequisites are: (1) a valid login to a CordysCRM instance running 1.9.0 up to (not including) 1.9.2, and (2) the ability to reach the eight ModuleFieldController endpoints under /field/source, which omit the data-permission scope check (the patch adds a dataPermission.invisible 'AND 0' clause to the underlying MyBatis mappers). No user interaction, no special non-default configuration, and no admin rights are needed - any low-privilege account suffices. The principal limiting factor is that a prior valid account is mandatory, so purely anonymous/unauthenticated attackers cannot exploit it directly; impact is confined to confidentiality (data disclosure) with no write or availability effect. |
| Impact | This is a genuine but moderate-priority issue, not a top-tier emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N) scores 7.1 (High) and is internally consistent with the description: a network-reachable, low-complexity flaw that requires an authenticated low-privilege account (PR:L) and yields high confidentiality impact with no integrity or availability effect - matching a pure broken-access-control data-disclosure bug (CWE-862). Exploitation is confirmed practical: publicly available exploit code exists (the VulnCheck/GitHub POC targets the /field/source endpoints), which raises real-world likelihood above a theoretical finding. However, no EPSS score was provided and the CVE is NOT listed in CISA KEV, so there is no evidence of active in-the-wild exploitation - the POC demonstrates feasibility, not a campaign. The PR:L requirement is the key risk-limiter: an attacker must already hold a valid (even permission-restricted) CordysCRM account, so this is primarily an insider / post-compromise lateral-data-access risk rather than an anonymous internet-wide threat. Net: real and patch-worthy because working exploit code is public and the data exposed (leads, contacts, contracts, payment records) is sensitive, but the authentication prerequisite and absence of KEV/EPSS signals place it below unauthenticated RCE-class priorities. |
| Exploit ScenarioDerived | A low-privileged employee (or a contractor/attacker who has phished a single restricted account) whose role explicitly denies module permissions logs into CordysCRM and issues requests to the eight ModuleFieldController /field/source data-source endpoints. Because these endpoints never evaluate the data-permission scope, the application returns organization-wide leads, contacts, quotations, contracts, payment plans, payment records, orders and invoices owned by other users, which the attacker pages through to harvest the entire CRM dataset. A public Python POC (poc_field_source_family.py) already automates this low-complexity, authenticated-only data exfiltration. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Missing authorization in 1Panel-dev CordysCRM 1.9.0 up to (but not including) 1.9.2 lets an authenticated user who has been explicitly denied module permission page through organization-wide CRM records - leads, contacts, quotations, contracts, payment plans, payment records, orders and invoices - that belong to other users. The flaw lies in eight ModuleFieldController /field/source data-source endpoints that omit the data-permission scope check, so a low-privilege account (CVSS PR:L, unauthenticated attackers cannot exploit it directly) can enumerate and read data it should never see; impact is confidentiality-only with no integrity or availability effect. Publicly available exploit code exists (a proof-of-concept script targeting the field/source endpoint family), and the vendor has released a fix in 1.9.2 via commit a31fa16f, which injects a dataPermission.invisible guard into the affected MyBatis mappers and the controller.
RemediationAI
Upgrade to CordysCRM 1.9.2 or later - vendor-released patch: 1.9.2, delivered by commit a31fa16fb2dc86ab6b0fdc1ee58a204af424f38d, which adds the missing dataPermission 'AND 0' guard to the affected MyBatis mappers and the ModuleFieldController endpoint. If immediate upgrade is not possible, the most direct compensating control is to restrict network access to the /field/source endpoints (via reverse-proxy or WAF rules) so only trusted, fully privileged administrative clients can reach them, at the cost of breaking legitimate data-source lookups for ordinary users; alternatively, tightly limit the population of authenticated accounts on the instance and audit data-permission assignments so no user holds a denied-module role that could be leveraged, though this reduces rather than removes exposure. Because exploitation requires only a valid low-privilege login, review authentication policy (disable dormant accounts, enforce MFA) and monitor for bulk or sequential paging requests against /field/source as a detection measure. Full details are in the VulnCheck advisory at https://www.vulncheck.com/advisories/1panel-dev-cordyscrm-1.9.0-before-1.9.2-missing-authorization-via-field-source-endpoints.
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
CordysCRM is a Java/Spring Boot customer-relationship-management application in the 1Panel-dev ecosystem, with persistence handled by MyBatis XML mappers. The root cause is CWE-862 (Missing Authorization): the eight data-source endpoints exposed under ModuleFieldController /field/source accept an OrderList/paging request and return rows without consulting DataScopeService, the component responsible for resolving a caller's data-permission scope. Because the permission check was never applied on this code path, the MyBatis queries for ExtClueMapper, ExtCustomerMapper, ExtCustomerContactMapper, ExtOpportunityMapper, ExtOpportunityQuotationMapper, ExtContractMapper, ExtContractInvoiceMapper, ExtContractPaymentPlanMapper, ExtContractPaymentRecordMapper and ExtOrderMapper returned unfiltered, organization-wide result sets. The vendor's fix (commit a31fa16fb2dc86ab6b0fdc1ee58a204af424f38d) adds an 'AND 0' predicate whenever dataPermission.invisible is true, effectively short-circuiting the query, and adds the corresponding guard in ModuleFieldController, restoring the intended scope enforcement. The assessed CVSS 3.1 vector is AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, matching the description and the CWE class: network-reachable, low-privilege authenticated, no user interaction, high confidentiality impact only.
Know when Cordyscrm 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:H/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable REST endpoints (AV:N), no special conditions (AC:L), requires a low-privilege authenticated account (PR:L), no user interaction; broad cross-user data disclosure gives C:H with no integrity or availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
1Panel-dev CordysCRM from 1.9.0 before 1.9.2 contains a missing authorization vulnerability in eight ModuleFieldController /field/source data-source endpoints lacking permission checks. Authenticated users denied module permission can page through organization-wide leads, contacts, quotations, contracts, payment plans, payment records, orders and invoices owned by other users.
Technical POC Analysis
CWE-862 (Missing Authorization), specifically a missing data-permission (row-scope) check rather than a missing role check.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
1Panel-dev CordysCRM versions 1.9.0 and 1.9.1 allow any authenticated user-even one explicitly denied module permissions-to read organization-wide CRM records including leads, contacts, quotations, contracts, payment plans, payment records, orders, and invoices. This exposes confidential sales and financial data across teams, creating competitive, privacy, and customer-trust risks. Because publicly available exploit code exists and the affected records are core to revenue operations, security management should treat this as a high-priority confidentiality incident.
Apply vendor patch.
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
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Related Vulnerabilities in CordysCRM Missing Authorization and Permission Bypass
View all 7CordysCRM before 1.7.2 exposes its SSE notification endpoints anonymously, allowing a remote unauthenticated attacker wh
Unauthenticated information disclosure in CordysCRM (1Panel-dev) versions prior to 1.7.2 lets any network-reachable call
CordysCRM 1.7.3 and earlier allows an authenticated user holding the PROCESS_SETTING_ADD permission to store an attacker
Server-side request forgery in CordysCRM (1Panel-dev) up to version 1.4.1 allows authenticated remote attackers to coerc
Server-side request forgery in CordysCRM (by 1Panel-dev) up to version 1.4.1 allows low-privileged remote attackers to m
Stored cross-site scripting in CordysCRM (1Panel-dev, versions up to 1.4.1) allows an authenticated remote attacker to i
EUVD-2026-96709
GHSA-5qf6-4wf6-7g7c
NVD
CVE.org
EPSS
VulDB
Exploit-DB