Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privileged CordysCRM user
-
ExploitSend POST /field/source/business-title
-
ExecutionBypass missing authorization check
-
ImpactExfiltrate invoicing tax and bank 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 a valid authenticated CordysCRM session for any low-privileged user account (PR:L) that lacks the CONTRACT_BUSINESS_TITLE_READ permission; the attacker simply issues POST /field/source/business-title, and in affected default deployments (versions before 1.9.2) the endpoint performs no permission check, returning protected invoicing entities. No special feature toggle or non-default configuration is needed - the missing server-side authorization is present out of the box. The principal limiting factor is the authentication requirement: the attacker must already hold working credentials (insider or compromised low-privilege account), there is no user-interaction or specific-platform dependency, and upgrading to 1.9.2 (which adds the data-permission 'invisible' guards) closes the exposure. |
| Impact | This is a real but bounded data-exposure risk rather than a critical priority. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms a network-reachable, low-complexity attack requiring low-privilege authentication (PR:L) and no user interaction, with impact confined to confidentiality (VC:H; VI/VA:N) and no scope change (SC/SI/SA:N) - consistent with the CWE-862 missing-authorization root cause where an authenticated-but-under-privileged user reads data they should not see. Publicly available exploit code exists (a Python PoC against the field-source endpoint), which raises practical likelihood, but the vulnerability is NOT in CISA KEV and no EPSS score was provided in the input, so there is no evidence of active or widespread exploitation - PoC availability and active exploitation are distinct signals and should not be conflated. The requirement for a valid authenticated account meaningfully limits the attacker population to insiders or anyone who has already obtained low-privilege credentials, so despite the network vector this is best treated as a privilege-boundary/insider data-leak issue (tax IDs, bank account and routing details, registered addresses, phone numbers) rather than an unauthenticated internet-facing breach. A patch is available from the vendor, making prioritized patching the clear remediation. |
| Exploit ScenarioDerived | A low-privileged but authenticated CordysCRM user (or an attacker who has phished/obtained any valid account) sends a crafted POST request to /field/source/business-title. Because the endpoint omits the CONTRACT_BUSINESS_TITLE_READ permission check, the server returns organization invoicing entities, leaking tax identification numbers, bank account numbers, opening banks, registration addresses, and phone numbers. A public Python PoC for the field-source endpoint already exists, lowering the skill needed to reproduce this. |
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 before 1.9.2 lets any authenticated low-privileged user read organization invoicing entities by sending POST /field/source/business-title, an endpoint that performs no permission check and therefore ignores the CONTRACT_BUSINESS_TITLE_READ privilege. Successful exploitation exposes tax identification numbers, bank account numbers, opening banks, registration addresses, and phone numbers of customer organizations, giving an attacker a ready-made dataset for invoice fraud, business email compromise, and social engineering. Publicly available exploit code exists (a Python PoC published on GitHub), and the issue is confirmed fixed in 1.9.2; per the CVSS:4.0 vector (PR:L, no UI, network-reachable), the practical barrier is simply holding valid low-privilege credentials, so an insider or a compromised standard account is enough to pull the data.
RemediationAI
Upgrade CordysCRM to 1.9.2 or later, which is the vendor-released patch and the only complete fix: it adds server-side data-permission guards ('invisible' checks resolving to AND 0) to the affected MyBatis mappers and enforces the field-list authorization in ModuleFieldController, closing the unauthenticated-by-permission read of invoicing entities. The upgrade is available from the 1Panel-dev CordysCRM repository and the fix commit is at https://github.com/1Panel-dev/CordysCRM/commit/a31fa16fb2dc86ab6b0fdc1ee58a204af424f38d, with the advisory at https://www.vulncheck.com/advisories/1panel-dev-cordyscrm-before-1.9.2-missing-authorization-via-field-source-business-title. Until the patch is applied, compensating controls are limited because the deficiency is a missing server-side check rather than a configurable feature: place CordysCRM behind an authenticating reverse proxy or API gateway rule that blocks POST /field/source/business-title (and the sibling /field/source/* listing routes) from any account or network segment not explicitly cleared to read contract business titles - this is effective but will break the business-title dropdown for legitimate users who reach it through the blocked path, so scope the rule to untrusted roles or networks rather than globally. In parallel, audit /field/source/business-title access logs for authenticated low-privilege sessions issuing the call, treat all tax IDs, bank accounts, and contact data returned by the endpoint as potentially disclosed, rotate or re-verify affected invoicing details with counterparties, and enforce least privilege plus credential hygiene (MFA, rapid revocation of dormant accounts) to reduce the insider/compromised-account vector this issue depends on. Note that the vulnerability does not require special configuration and is reachable by default, so exposure is immediate for any deployment that has not yet been upgraded.
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 the Java/Spring Boot CRM component of the 1Panel ecosystem; the flaw is a classic CWE-862 Missing Authorization in the module-field subsystem. The affected endpoint, POST /field/source/business-title, is implemented in backend/crm/src/main/java/cn/cordys/crm/system/controller/ModuleFieldController.java (notably the list handler around lines 253-257) and is reachable by any caller who passes session authentication, but the controller/mapper path never evaluates the CONTRACT_BUSINESS_TITLE_READ permission that should gate it. The vendor's fix commit a31fa16fb2dc86ab6b0fdc1ee58a204af424f38d hardens this class of issue broadly: it injects a data-permission guard (<if test="dataPermission != null and dataPermission.invisible"> AND 0 </if>) into the MyBatis mappers ExtClueMapper, ExtContractInvoiceMapper, ExtContractMapper, ExtContractPaymentPlanMapper, ExtContractPaymentRecordMapper, ExtCustomerContactMapper, ExtCustomerMapper, ExtOpportunityMapper, ExtOpportunityQuotationMapper and ExtOrderMapper, plus an additional server-side check in ModuleFieldController. In effect the pre-1.9.2 code relied on client-side/UI-level field visibility instead of enforcing the authorization decision server-side in the query layer, so record-scoped protections for invoicing entities were never applied on this read path. The retrieved fields are exactly the B2B billing attributes (tax ID, bank account, opening bank, registered address, phone), making the leak financially sensitive rather than merely business-confidential.
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 endpoint with low complexity but requires an authenticated low-privilege account (PR:L); impact is read-only disclosure of sensitive financial data, so C:H and I:A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
1Panel-dev CordysCRM before 1.9.2 contains a missing authorization vulnerability that allows authenticated users to list business titles by calling POST /field/source/business-title without permission checks. Users lacking CONTRACT_BUSINESS_TITLE_READ can retrieve organization invoicing entities, exposing tax identification numbers, bank account numbers, opening banks, registration addresses, and phone numbers.
Technical POC Analysis
CWE-862 (Missing Authorization).
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
CordysCRM deployments before 1.9.2 allow any authenticated low-privileged user to read organization invoicing data-including tax identification numbers, bank account numbers, and contact details-by bypassing an intended read permission on a business-title endpoint. This creates a direct path to invoice fraud, business email compromise, and social engineering, and publicly available exploit code exists, so the practical barrier is only a valid standard account. Leadership should treat this as a high-priority data exposure issue affecting customer financial and identity information.
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-96708
GHSA-378v-v9jq-pgrf
NVD
CVE.org
EPSS
VulDB
Exploit-DB