{"id":"GHSA-mfvp-7p3v-x9mh","summary":"Casdoor SAML callback handler accepts any well-formed SAMLResponse sent to /api/acs without verifying that it corresponds to an AuthnRequest","details":"In Casdoor versions 2.362.0 and earlier, the SAML callback handler in controllers/auth.go accepts any well-formed SAMLResponse sent to /api/acs without verifying that it corresponds to an AuthnRequest previously issued by Casdoor. Additionally, if an administrator disables or deletes an IdP (Identity Provider) after a SAML flow has started, the handler still processes the response using the provider snapshot loaded at the start of the request. As a result, an attacker controlling a registered upstream IdP can send unsolicited SAML responses, or replay a legitimately captured response in a different session or after the original flow has ended. In both cases, Casdoor accepts the response and issues a session, enabling persistent unauthorized access.","aliases":["CVE-2026-9098","GO-2026-5898"],"modified":"2026-07-07T16:11:24.868257056Z","published":"2026-05-28T18:30:32Z","database_specific":{"github_reviewed_at":"2026-07-02T18:37:59Z","nvd_published_at":"2026-05-28T17:16:34Z","cwe_ids":["CWE-488"],"severity":"CRITICAL","github_reviewed":true},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-9098"},{"type":"PACKAGE","url":"https://github.com/casdoor/casdoor"},{"type":"WEB","url":"https://kb.cert.org/vuls/id/780781"}],"affected":[{"package":{"name":"github.com/casdoor/casdoor","ecosystem":"Go","purl":"pkg:golang/github.com/casdoor/casdoor"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"1.1000.1-0.20260321120606-239e8bd69487"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/05/GHSA-mfvp-7p3v-x9mh/GHSA-mfvp-7p3v-x9mh.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N"}]}