{"schemaVersion":3,"id":"CVE-2026-109372","aliases":[],"status":"published","duplicateOf":null,"title":null,"description":"ZITADEL 4.x before 4.19.2 and 3.x through 3.4.15 contains an authentication bypass in the SAML identity-provider intent callback, which verifies the assertion signature using the provider named in the request URL but resolves the user from the login intent without checking they match. Attackers with organization-administrator permission can register a SAML provider with their own signing key to obtain authenticated sessions as any user linked to another SAML provider on the instance, including in other organizations.","dates":{"published":"2026-10-12T16:05:44.977Z","modified":"2026-10-13T16:23:38.085Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":9.3,"severity":"critical","version":"4.0","versionLabel":"v4.0","source":"NVD","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","computed":false,"selection":"backend-summary"},"metrics":[{"version":"4.0","versionLabel":"v4.0","source":"NVD","score":9.3,"severity":"critical","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.7,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false},{"version":"4.0","versionLabel":"v4.0","source":"CVE.org","score":9.3,"severity":"critical","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.7,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:N","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.0037,"percentile":0.29435,"severity":"low","asOf":"2026-10-19T00:00:00.000Z","change":{"pp":null,"baselineDate":null,"baselineScore":null},"history":[{"date":"2026-10-13T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.0037,"percentile":0.29435}],"last30":[{"date":"2026-10-13T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.0037,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.0037,"percentile":0.29435}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[],"exploitCount":0,"weaknesses":[{"id":"CWE-287","name":"Improper Authentication","description":"When an actor claims to have a given identity, the product does not prove or insufficiently proves that the claim is correct.","type":"weakness","status":"Draft","abstraction":"Class","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/287.html"}],"affected":[{"vendor":"zitadel","product":"zitadel","name":"zitadel","label":"zitadel","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"≥ 3.0.0, < 4.19.2","noFixRecorded":false,"fixedIn":null}],"versionsText":"≥ 3.0.0, < 4.19.2","eol":null,"hubHref":"/vendor/zitadel/zitadel"}],"affectedCount":1,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/zitadel/zitadel/security/advisories/GHSA-x4c7-fpcx-w9q6","label":"github.com/zitadel/zitadel/security/advisories/GHSA-x4c7-fpcx-w9q6","hostname":"github.com","tags":["Vendor Advisory"]},{"url":"https://www.vulncheck.com/advisories/zitadel-3.0.0-before-4.19.2-account-takeover-via-saml-identity-provider-confusion","label":"www.vulncheck.com/advisories/…","hostname":"www.vulncheck.com","tags":["Third Party Advisory"]}],"lineage":{"upstream":[],"downstream":[],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-10-12T16:05:44.977Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-10-13T16:23:38.085Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":70,"level":"high","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-20T06:51:31.257Z","stale":false,"partial":false}}