{"id":"CVE-2024-41952","aliases":["EUVD-2024-2261","GHSA-567v-6hmg-6qg7","GO-2024-3014"],"status":"published","title":"Zitadel has an \"Ignoring unknown usernames\" vulnerability","description":"Zitadel is an open source identity management system. ZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\". Due to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8, and 2.53.9.","severity":{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00633,"percentile":0.5068,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-203"],"published":"2024-07-31T16:30:22Z","modified":"2026-10-28T02:30:51Z","fixes":[{"ecosystem":"Go","package":"github.com/zitadel/zitadel","fixed_in":["2.53.9","2.54.8","2.55.5","2.56.2","2.57.1","2.58.1","0.0.0-20240731122357-a1d24353db4d","1.80.0-v2.20.0.20240731122357-a1d24353db4d"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.53.0"},{"last_affected":"2.53.8"},{"fixed":"2.53.9"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.54.0"},{"last_affected":"2.54.7"},{"fixed":"2.54.8"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.55.0"},{"last_affected":"2.55.4"},{"fixed":"2.55.5"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.56.0"},{"last_affected":"2.56.1"},{"fixed":"2.56.2"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.57.0"},{"last_affected":"2.57.0"},{"fixed":"2.57.1"}]}],"versions":["2.57.0"]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.58.0"},{"last_affected":"2.58.0"},{"fixed":"2.58.1"}]}],"versions":["2.58.0"]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.0.0-20230609131415-dafa8ab4dfe8"},{"fixed":"0.0.0-20240731122357-a1d24353db4d"}]}]},{"source":"ghsa","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"1.80.0-v2.20.0.20230609131415-dafa8ab4dfe8"},{"fixed":"1.80.0-v2.20.0.20240731122357-a1d24353db4d"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"2.53.0"},{"fixed":"2.53.9"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"2.54.0"},{"fixed":"2.54.8"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"2.55.0"},{"fixed":"2.55.5"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"2.56.0"},{"fixed":"2.56.2"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"2.57.0"},{"fixed":"2.57.1"}]}],"versions":["2.57.0"]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"2.58.0"},{"fixed":"2.58.1"}]}],"versions":["2.58.0"]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"0.0.0-20230609131415-dafa8ab4dfe8"},{"fixed":"0.0.0-20240731122357-a1d24353db4d"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"1.80.0-v2.20.0.20230609131415-dafa8ab4dfe8"},{"fixed":"1.80.0-v2.20.0.20240731122357-a1d24353db4d"}]}]},{"source":"osv","ecosystem":"Go","package":"github.com/zitadel/zitadel","ranges":[{"type":"SEMVER","events":[{"introduced":"0"}]}]}],"products":[{"vendor":"zitadel","product":"zitadel"}],"references":[{"url":"https://github.com/zitadel/zitadel/security/advisories/GHSA-567v-6hmg-6qg7","tags":["x_refsource_CONFIRM","Vendor Advisory","advisory","web"]},{"url":"https://github.com/zitadel/zitadel/commit/0ab0c645ef914298c343fa39cccb1290aba48bf6","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/zitadel/zitadel/commit/3c7d12834e32426416235b9e3374be0f4b9380b8","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/zitadel/zitadel/commit/5c2526c98aafd1ba206be2fa4291b1d24c384f6d","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/zitadel/zitadel/commit/8565d24fd8df5bd35294313cfbfcc2e15aea20e9","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/zitadel/zitadel/commit/b0e71a81ef39667ce2a149ce037c1ca0edbe059d","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/zitadel/zitadel/commit/fc1d415b8db5b8d481bb65206ce3fc944c0eecea","tags":["x_refsource_MISC","Patch","fix","web"]},{"url":"https://github.com/zitadel/zitadel/releases/tag/v2.53.9","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/zitadel/zitadel/releases/tag/v2.54.8","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/zitadel/zitadel/releases/tag/v2.55.5","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/zitadel/zitadel/releases/tag/v2.56.2","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/zitadel/zitadel/releases/tag/v2.57.1","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://github.com/zitadel/zitadel/releases/tag/v2.58.1","tags":["x_refsource_MISC","Release Notes","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2024-41952","tags":["advisory"]},{"url":"https://pkg.go.dev/vuln/GO-2024-3014","tags":["web"]},{"url":"https://github.com/advisories/GHSA-567v-6hmg-6qg7"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41952.json","tags":["advisory"]},{"url":"https://github.com/zitadel/zitadel","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2024-41952","title":"Zitadel has an \"Ignoring unknown usernames\" vulnerability","description":"Zitadel is an open source identity management system. ZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\". Due to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8, and 2.53.9.","status":"published","published":"2024-07-31T16:30:22.811Z","modified":"2024-07-31T17:36:34.317Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-203"],"updated_at":"2026-11-02T14:34:03.661584Z"}],"euvd":[{"id":"EUVD-2024-2261","description":"Zitadel is an open source identity management system. ZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\". Due to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8, and 2.53.9.","status":"published","published":"2024-07-31T16:30:22Z","modified":"2024-07-31T17:36:34Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"updated_at":"2026-11-03T03:50:48.911719Z"}],"ghsa":[{"id":"GHSA-567v-6hmg-6qg7","title":"ZITADEL \"ignoring unknown usernames\" vulnerability","description":"### Impact\n\nZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\".\nDue to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message.\n\n### Patches\n\n2.x versions are fixed on \u003e= [2.58.1](https://github.com/zitadel/zitadel/releases/tag/v2.58.1)\n2.57.x versions are fixed on \u003e= [2.57.1](https://github.com/zitadel/zitadel/releases/tag/v2.57.1)\n2.56.x versions are fixed on \u003e= [2.56.2](https://github.com/zitadel/zitadel/releases/tag/v2.56.2)\n2.55.x versions are fixed on \u003e= [2.55.5](https://github.com/zitadel/zitadel/releases/tag/v2.55.5)\n2.54.x versions are fixed on \u003e= [2.54.8](https://github.com/zitadel/zitadel/releases/tag/v2.54.8)\n2.53.x versions are fixed on \u003e= [2.53.9](https://github.com/zitadel/zitadel/releases/tag/v2.53.9)\n\nZITADEL recommends upgrading to the latest versions available in due course.\n\n### Workarounds\n\nThere is no workaround since a patch is already available.\n\n### Questions\n\nIf you have any questions or comments about this advisory, please email us at [security@zitadel.com](mailto:security@zitadel.com)","status":"published","published":"2024-07-31T21:02:52Z","modified":"2025-07-08T16:39:59Z","cvss":[{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-203"],"updated_at":"2026-11-02T14:38:49.837727Z"}],"nvd":[{"id":"CVE-2024-41952","description":"Zitadel is an open source identity management system. ZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\". Due to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8, and 2.53.9.","status":"published","published":"2024-07-31T17:15:10.597Z","modified":"2026-06-17T07:48:31.033Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"secondary"},{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-203"],"updated_at":"2026-11-02T14:10:15.933769Z"}],"osv":[{"id":"CVE-2024-41952","title":"Zitadel has an \"Ignoring unknown usernames\" vulnerability","description":"Zitadel is an open source identity management system. ZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\". Due to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8, and 2.53.9.","status":"published","published":"2024-07-31T16:30:22.811Z","modified":"2026-10-28T02:30:51.892983035Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"}],"cwes":["CWE-203"],"updated_at":"2026-11-02T15:44:41.963899Z"},{"id":"GHSA-567v-6hmg-6qg7","title":"ZITADEL \"ignoring unknown usernames\" vulnerability","description":"### Impact\n\nZITADEL administrators can enable a setting called \"Ignoring unknown usernames\" which helps mitigate attacks that try to guess/enumerate usernames. If enabled, ZITADEL will show the password prompt even if the user doesn't exist and report \"Username or Password invalid\".\nDue to a implementation change to prevent deadlocks calling the database, the flag would not be correctly respected in all cases and an attacker would gain information if an account exist within ZITADEL, since the error message shows \"object not found\" instead of the generic error message.\n\n### Patches\n\n2.x versions are fixed on \u003e= [2.58.1](https://github.com/zitadel/zitadel/releases/tag/v2.58.1)\n2.57.x versions are fixed on \u003e= [2.57.1](https://github.com/zitadel/zitadel/releases/tag/v2.57.1)\n2.56.x versions are fixed on \u003e= [2.56.2](https://github.com/zitadel/zitadel/releases/tag/v2.56.2)\n2.55.x versions are fixed on \u003e= [2.55.5](https://github.com/zitadel/zitadel/releases/tag/v2.55.5)\n2.54.x versions are fixed on \u003e= [2.54.8](https://github.com/zitadel/zitadel/releases/tag/v2.54.8)\n2.53.x versions are fixed on \u003e= [2.53.9](https://github.com/zitadel/zitadel/releases/tag/v2.53.9)\n\nZITADEL recommends upgrading to the latest versions available in due course.\n\n### Workarounds\n\nThere is no workaround since a patch is already available.\n\n### Questions\n\nIf you have any questions or comments about this advisory, please email us at [security@zitadel.com](mailto:security@zitadel.com)","status":"published","published":"2024-07-31T21:02:52Z","modified":"2025-07-08T16:39:58Z","cvss":[{"version":"3.1","score":5.3,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N","level":"medium"},{"version":"4.0","score":6.9,"vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N","level":"medium"}],"cwes":["CWE-203"],"updated_at":"2026-11-02T15:46:37.864461Z"},{"id":"GO-2024-3014","title":"ZITADEL \"ignoring unknown usernames\" vulnerability in github.com/zitadel/zitadel","description":"ZITADEL \"ignoring unknown usernames\" vulnerability in github.com/zitadel/zitadel.\n\nNOTE: The source advisory for this report contains additional versions that could not be automatically mapped to standard Go module versions.\n\n(If this is causing false-positive reports from vulnerability scanners, please suggest an edit to the report.)\n\nThe additional affected modules and versions are: github.com/zitadel/zitadel from v2.53.0 before v2.53.9, from v2.54.0 before v2.54.8, from v2.55.0 before v2.55.5, from v2.56.0 before v2.56.2, from v2.57.0 before v2.57.1, from v2.58.0 before v2.58.1.","status":"published","published":"2024-08-06T22:03:16Z","modified":"2024-08-06T22:27:07.255358Z","updated_at":"2026-11-02T15:47:01.453823Z"}]}}
