Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as any low-privileged user
-
ExploitPOST attacker URL to /approval-flow/webhook/test
-
ExecutionRedirect GET to internal host, bypassing SSRFValidator
-
ImpactInfer internal services from success/failure responses
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 | Requires a valid authenticated session for any CordysCRM user - the flaw is that the POST /approval-flow/webhook/test endpoint omits the PROCESS_SETTING permission check, so no administrative/privileged role is needed (PR:L). The attacker must also control an external host capable of issuing HTTP redirects, because exploitation works by redirecting the server's outbound GET from a controlled host to internal targets to bypass SSRFValidator. Limiting factors: exploitation is impossible without an account (not unauthenticated), the SSRF is blind (information is only inferred from success/failure, not direct response content), and impact is confined to confidentiality-style internal reconnaissance (no write or availability impact). Applies to CordysCRM versions through 1.9.3. |
| Impact | This is a genuine but modest-severity issue best characterized as a low-privilege broken-access-control flaw leading to blind SSRF. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N) confirms network-reachable, low-complexity exploitation that nonetheless requires authentication (PR:L) - so this is not an unauthenticated internet-facing bug. Impact is deliberately narrow: only VC:L (limited confidentiality via blind probing) with VI:N/VA:N, matching the description's 'probe internal addresses through success or failure results' (no data read, no write, no DoS). A public POC exists (reported by VulnCheck), which raises operational urgency, but the CVE is NOT in CISA KEV and no EPSS score was provided, so there is no evidence of active exploitation - treat the POC and active-exploitation signals as distinct. Net: a real priority for defenders running CordysCRM with multiple user accounts (an authenticated insider or a compromised low-priv account can map internal networks), but the authentication requirement, blind/low-impact nature, and niche product footprint keep real-world risk moderate rather than critical. No signals conflict with the vector; the main missing data points are EPSS and any vendor patch confirmation. |
| Exploit ScenarioDerived | A low-privileged authenticated CordysCRM user (or an attacker who has phished/compromised any account) sends a crafted POST to /approval-flow/webhook/test pointing at an attacker-controlled host, which then 302-redirects the server's GET request to an internal address, bypassing SSRFValidator. By observing success/failure outcomes, the attacker performs blind SSRF to enumerate internal hosts, ports, and services. A public POC (poc_approval_flow_webhook_test_ssrf.py) demonstrating this is already available. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Blind SSRF in CordysCRM through 1.9.3 allows any authenticated user to call POST /approval-flow/webhook/test without the required PROCESS_SETTING permission, causing the server to issue outbound requests to an attacker-supplied URL. An attacker-controlled host can redirect the request to bypass SSRFValidator and use the endpoint's success or failure results to probe internal addresses. Publicly available exploit code exists, and the assessed impact is a low-privilege broken-access-control flaw with only low confidentiality exposure and no confirmed active exploitation.
RemediationAI
No vendor-released patch with an exact fixed version is identified in the supplied intelligence; if the CordysCRM project publishes a release beyond 1.9.3, upgrading to that version is the primary fix, and the VulnCheck advisory (https://www.vulncheck.com/advisories/cordyscrm-through-1.9.3-missing-authorization-and-blind-ssrf-via-webhook-test) and code reference should be monitored for an update. Until then, enforce the PROCESS_SETTING permission check server-side on POST /approval-flow/webhook/test, restricting it to users with that privilege; the trade-off is that legitimate low-privileged workflow testing will be blocked. Disable or block the webhook test endpoint entirely, which breaks normal webhook configuration testing but removes the attack surface. Configure the webhook test HTTP client to disallow HTTP redirects and validate the final resolved destination against private, loopback, link-local, and cloud metadata IP ranges; this may break legitimate tests that depend on redirects but directly addresses the SSRFValidator bypass. Add server egress filtering to block outbound connections to internal address ranges, accepting that it may interfere with legitimate internal integrations. Monitor CordysCRM outbound request logs for unexpected internal probing.
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
The affected component is CordysCRM's Java/Spring backend, specifically the approval-flow webhook test endpoint in backend/crm/src/main/java/cn/cordys/crm/approval/controller/ApprovalFlowController.java (lines 101-105). CWE-862 (Missing Authorization) is the root cause: the endpoint does not enforce the PROCESS_SETTING permission, so a valid low-privileged account can invoke it. The endpoint performs an outbound HTTP request to a user-supplied URL; an attacker can host a redirector that answers with an HTTP redirect to an internal address, bypassing the SSRFValidator if it validates only the initial URL. Because the application reports only success or failure of the webhook test, the SSRF is blind and useful primarily for internal reachability probing. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N) and the independent CVSS 3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N) agree on network reachability, low complexity, low privileges, no user interaction, and only low confidentiality impact; there is no integrity or availability impact. The CPE cpe:2.3:a:1panel-dev:cordyscrm:*:*:*:*:*:*:*:* covers versions through 1.9.3.
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:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-reachable with low complexity but requires an authenticated account (PR:L); blind SSRF yields only limited confidentiality (C:L) with no integrity or availability impact and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
1Panel-dev CordysCRM through 1.9.3 lacks a PROCESS_SETTING permission check on POST /approval-flow/webhook/test, allowing any authenticated user to trigger server-side requests to attacker-supplied URLs. Attackers can redirect GET requests from a controlled host to bypass SSRFValidator and probe internal addresses through success or failure results.
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-96706
GHSA-5crg-9pmg-qx98
NVD
CVE.org
EPSS
VulDB
Exploit-DB