{"id":"CVE-2026-9098","state":"PUBLISHED","title":"CVE-2026-9098","description":"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.","publishedAt":"2026-05-28T16:31:42.767Z","updatedAt":"2026-06-02T16:43:43.567Z","severity":{"score":9.1,"label":"Critical","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","source":"CISA-ADP"},"assigner":"certcc","products":["Casdoor Casdoor"],"affected":[{"vendor":"Casdoor","product":"Casdoor","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.362.0","versionType":"custom"}]}],"references":["https://kb.cert.org/vuls/id/780781"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:52.441Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/9xxx/CVE-2026-9098.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-9098","state":"PUBLISHED","datePublished":"2026-05-28T16:31:42.767Z","dateUpdated":"2026-06-02T16:43:43.567Z","assignerShortName":"certcc","assignerOrgId":"37e5125f-f79b-445b-8fad-9564f167944b","dateReserved":"2026-05-20T15:05:20.584Z"},"containers":{"cna":{"title":"CVE-2026-9098","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"Casdoor","product":"Casdoor","versions":[{"version":"0","status":"affected","lessThanOrEqual":"2.362.0","versionType":"custom"}]}],"references":[{"url":"https://kb.cert.org/vuls/id/780781"}],"problemTypes":[{"descriptions":[{"lang":"en","description":"CWE-346 Origin Validation Error"}]}],"providerMetadata":{"shortName":"certcc","orgId":"37e5125f-f79b-445b-8fad-9564f167944b","dateUpdated":"2026-05-28T16:31:42.767Z"},"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"VINCE 3.0.41","env":"prod","origin":"https://cveawg.mitre.org/api/cve/CVE-2026-9098"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":9.1,"attackVector":"NETWORK","baseSeverity":"CRITICAL","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"NONE","privilegesRequired":"NONE","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2026-06-02T15:50:28.631307Z","id":"CVE-2026-9098","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-02T16:43:43.567Z"}}]}}}