Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain valid CAS service ticket (PR:L)
-
ExploitSend proxyValidate request with crafted pgtUrl
-
ExecutionCasdoor issues server-side HTTP request
-
ImpactReach internal service / limited data disclosure
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Credential Access The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires that the target Casdoor instance (versions up to 3.164.0 / 4.10.0) exposes the CAS protocol proxy-validation endpoint (CasP3ProxyValidate) and that the attacker can reach it with a valid CAS service ticket - the CVSS PR:L confirms low-privilege authentication is needed, so this is not an unauthenticated flaw. The concrete trigger is attacker control of the pgtUrl (proxy-granting callback URL) argument, which the pre-patch code fetches via http.DefaultClient.Do without destination validation, redirect restriction, or timeout. Limiting factors: exploitation is confined to Casdoor deployments actually using CAS proxy authentication, requires a valid ticket, and impact is limited (VC:L, no integrity/availability impact), so this is primarily a blind/limited SSRF rather than full internal-service compromise. The 4.11.0 fix adds a non-redirect-following HTTP client with a 10-second timeout and target-authorization checks, confirming redirect-following and unbounded outbound requests were the core weakness. |
| Impact | This is a genuinely low-priority issue despite being a server-side request forgery flaw. The signals are internally consistent and point away from urgency: the vendor-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) scores only 2.1, reflecting that exploitation requires low-level authentication (PR:L) and yields only limited confidentiality impact with no integrity or availability impact and no subsequent-system (scope) impact. The CVSS 4.0 exploit-maturity metric E:P and the description both confirm a public proof-of-concept exists, matching the 'exploit has been disclosed publicly' statement. However, there is NO EPSS score provided, NO CISA KEV listing, and the reporter is VulDB (cna@vuldb.com), a source that catalogs large volumes of lower-severity, often researcher-reported findings. So while a POC exists, there is no evidence of active exploitation. The SSRF is also constrained: the CVSS assigns only VC:L (not VC:H), implying limited data exposure rather than full internal-service compromise, and the patch (adding a no-redirect HTTP client with a 10s timeout) suggests the original flaw enabled unvalidated outbound requests/redirects rather than arbitrary full-response exfiltration. Net: a real but low-urgency bug - patch during normal maintenance cycles, prioritize only if Casdoor's CAS proxy-validation feature is internet-exposed. |
| Exploit ScenarioDerived | An attacker who can obtain a valid CAS ticket in a Casdoor deployment sends a crafted request to the CasP3ProxyValidate endpoint with a malicious pgtUrl parameter pointing at an internal host or metadata endpoint. Because Casdoor performs an outbound HTTP request to the supplied pgtUrl during proxy-granting-ticket callback without sufficient validation, the server is coerced into contacting attacker-chosen internal destinations. A public proof-of-concept has been disclosed, lowering the barrier to attempt this, though impact is limited (VC:L) and authentication is required. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 11, 2026
Server-side request forgery in Casdoor's CAS proxy-validation handler (CasP3ProxyValidate in controllers/cas.go) lets a low-privilege authenticated user who already holds a valid CAS service ticket supply a crafted pgtUrl callback value and make the Casdoor server issue outbound HTTP requests to an arbitrary destination of the attacker's choosing. Only deployments that expose the CAS protocol endpoints and use CAS proxy authentication in versions up to 3.164.0 and 4.10.0 are affected, and because the pre-patch code fetches the attacker-supplied URL with http.DefaultClient.Do without destination validation, redirect restrictions, or a timeout, the practical impact is a blind or limited SSRF (some confidentiality exposure, no integrity or availability impact) rather than full compromise of internal services. Publicly available exploit code exists, but there is no confirmed active exploitation (no CISA KEV listing), and the assessed severity is genuinely low, so this is a low-priority hardening item for CAS-enabled Casdoor instances rather than an emergency patch; upgrading to 4.11.0 resolves it.
RemediationAI
Upgrade Casdoor to 4.11.0 or later (vendor-released patch); the fix is carried by commits 03c6c9aaa2eda5b085ce128ce0d60b34094efbd9 and ada08ecd10cbf158f593dee23a8bab63efecf995 and is documented in the release notes at https://github.com/casdoor/casdoor/releases/tag/v4.11.0. If upgrading immediately is not possible, the most effective compensating control is to stop exposing the CAS proxy-validation endpoints (CasP3ProxyValidate and the related proxy paths) to untrusted networks, or to disable CAS proxy authentication entirely if it is not in active use - the trade-off is that legitimate CAS proxy clients will fail until the upgrade completes. As a second layer, apply egress filtering on the Casdoor host so outbound HTTP/HTTPS cannot reach link-local, loopback, RFC1918, or cloud metadata address ranges; this blocks the SSRF primitive but risks breaking legitimate outbound calls such as identity-provider, LDAP, or webhook integrations, so any deny rules must be tested against the instance's normal federation traffic. Restricting which accounts can obtain CAS service tickets reduces exposure, since exploitation requires at least a low-privilege authenticated principal holding a valid ticket under the assessed CVSS vector (PR:L). None of these workarounds remove the underlying flaw, so patching to 4.11.0 remains the recommended action.
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
Casdoor is a Go-based identity and access management platform that implements the CAS (Central Authentication Service) protocol alongside OIDC/SAML. Under CAS proxy authentication, a service that wants to obtain proxy-granting tickets supplies a pgtUrl callback so the CAS server can deliver the proxy-granting ticket back to it. In the vulnerable code path (CasP3ProxyValidate in controllers/cas.go), the pgtUrl argument was passed to an outbound request executed via Go's http.DefaultClient.Do with no allow-list of permitted destinations, no redirect restriction, and no timeout. This is a textbook CWE-918 server-side request forgery: the server becomes a proxy that the attacker can steer at internal network addresses, cloud metadata endpoints, or other services reachable only from the Casdoor host, and the absence of a timeout also permits resource-exhaustion style hangs on slow attacker endpoints. The 4.11.0 patch (commits 03c6c9aaa2eda5b085ce128ce0d60b34094efbd9 and ada08ecd10cbf158f593dee23a8bab63efecf995) confirms the root cause by introducing a dedicated HTTP client with a 10-second timeout and a CheckRedirect handler returning http.ErrUseLastResponse so redirects cannot be followed to a second, unchecked destination, and by adding an isCasProxyTargetAllowed authorization check for the proxy target service. Notably the same commit also replaces prefix-based service comparison (strings.HasPrefix plus url.QueryUnescape) in CasValidate and CasP3ProxyValidate with a strict IsCasServiceMatched check, hardening the adjacent ticket-to-service binding logic.
Know when the next one hits your stack
- 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/E:P
Network-reachable CAS endpoint with no added complexity (AV:N/AC:L); a valid CAS ticket is required so PR:L; SSRF yields limited read-only exposure (C:L) with no integrity, availability, or scope impact.
Primary rating from Vendor (vuldb).
CVSS VectorVendor: vuldb
DescriptionCVE.org
A security vulnerability has been detected in Casdoor up to 3.164.0/4.10.0. Affected is the function CasP3ProxyValidate of the file controllers/cas.go of the component Proxy Validation. Such manipulation of the argument pgtUrl leads to server-side request forgery. The attack may be performed from remote. The exploit has been disclosed publicly and may be used. Upgrading to version 4.11.0 is able to address this issue. The name of the patch is 03c6c9aaa2eda5b085ce128ce0d60b34094efbd9/ada08ecd10cbf158f593dee23a8bab63efecf995. It is advisable to upgrade the affected component.
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
Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.
EUVD-2026-96878
GHSA-h4c8-m9wv-p9hq
NVD
CVE.org
EPSS
VulDB
Exploit-DB