CVE-2026-63646: CordysCRM MCP Form Configuration Endpoint Exposed to Anonymous Users
CordysCRM is an open source AI-powered customer relationship management system that supports private deployment. Prior to 1.7.2, GET /mcp/form/config/{formKey} calls McpController.getMcpField without authentication because ShiroFilter.addPublicPathFilters marks /mcp/ as anonymous and the controller has no permission annotation. An unauthenticated caller can obtain field names, types, required flags, default values, options, validation rules, and binding sources for CRM modules, allowing reconstruction of the application data model and more targeted attacks against other inputs. This issue is fixed in version 1.7.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
CordysCRMto a version that resolves this vulnerability.Fixed in 1.7.2
Event History
Frequently Asked Questions
Which deployments are exposed?
CordysCRM deployments running versions earlier than 1.7.2 are affected. The exposed endpoint is reachable without authentication because the /mcp/** path is configured as anonymous.
What does an attacker need to exploit this issue?
An attacker only needs network access to the GET /mcp/form/config/{formKey} endpoint and a valid or discoverable formKey. No login or permissions are required on affected versions.
What information can be disclosed?
The endpoint can reveal CRM form field names, types, required flags, default values, options, validation rules, and binding sources. This can help an attacker reconstruct the application data model and target other inputs more effectively.
How can I determine whether my instance is affected?
Check whether the deployed CordysCRM version is earlier than 1.7.2. On such versions, test whether an unauthenticated request to GET /mcp/form/config/{formKey} returns form configuration data.
What should be done if patching cannot happen immediately?
The provided information identifies version 1.7.2 as the fix. No alternative mitigation is specified.