SimpleSAMLphp casserver: Open Redirect in logoutGHSA-cvrm-5hp6-h523
MEDIUMFix: simplesamlphp/simplesamlphp-module-casserver@0462f50GHSA-cvrm-5hp6-h523 is a medium-severity (CVSS 4.7) Open Redirect vulnerability in simplesamlphp/simplesamlphp-module-casserver. A fix is available for simplesamlphp/simplesamlphp-module-casserver — see the affected versions and patch details below.
Exploitation Status
Proof-of-concept exploit code exists
- CISA’s SSVC triage found public proof-of-concept exploit code for this CVE, though no confirmed active exploitation.
Exploitation and automatability from CISA’s SSVC triage for GHSA-cvrm-5hp6-h523.
EPSS Exploitation Probability
Probability of exploitation in the next 30 days, from FIRST.org EPSS.
How urgent is this, really
Where this sits among everything scored
Real-World Exposure
simplesamlphp/simplesamlphp-module-casserver🐘simplesamlphp/simplesamlphp-module-casserverReal-time download stats are indexed for npm and PyPI packages. This vulnerability affects Packagist packages — download data is not available via public APIs for these ecosystems.
Description
Summary
The logout endpoint accepts a url query parameter to redirect to. casserver treats that url as trusted, and either (depending on configuration) redirects the browser there, or shows a "you've been logged out" page with a link to continue to that url.
There are a number of other things broken with logout in 7 (cas v3 uses a different query parameters, etc)
Details
Previous module checked the url against the valid service urls.
PoC
The docker instructions from the README.md run an image with a vulnerable config.
Accessing https://localhost/cas/logout?url=https://google.com will redirect to Google
Impact
Impacted configs have
'enable_logout' => true,
and are most impacted if they also have
'skip_logout_page' -> true,
Affected Packages
| Ecosystem | Package | Vulnerable range | Fix |
|---|---|---|---|
| 🐘Packagist | simplesamlphp/simplesamlphp-module-casserver | ≥ 7.0.0-rc1&&< 7.0.0 | 7.0.0composer require simplesamlphp/simplesamlphp-module-casserver:^7.0.0 |
| 🐘Packagist | simplesamlphp/simplesamlphp-module-casserver | all versions | 6.3.1composer require simplesamlphp/simplesamlphp-module-casserver:^6.3.1 |
Affected Products
simplesamlphp-module-casserversimplesamlphpDetection & mitigation playbook
Open-source dependencyDetect
Scan your dependency tree (package-lock.json, pnpm-lock.yaml, requirements.txt, go.sum, etc.) for simplesamlphp/simplesamlphp-module-casserver, including transitive dependencies — a direct dependency you never call can still pull in a vulnerable version.
Fix
Update simplesamlphp/simplesamlphp-module-casserver to 7.0.0 or later, then make sure no transitive (indirect) dependency still pins the vulnerable range — O3 confirms GHSA-cvrm-5hp6-h523 is resolved across your whole dependency graph.
Workarounds
Stop reflecting attacker-controlled destinations: resolve every redirect target against an allowlist of paths or hosts you own, prefer a server-side key over a full URL in the request, and reject absolute URLs entirely where the flow only ever needs a relative one.
Frequently Asked Questions
Is GHSA-cvrm-5hp6-h523 in your dependencies?
Find it across Packagist, including transitive dependencies.