Skip to content
Heist/ feed
Back to feed
Medium

Zitadel allows User Enumeration by loginname attribute normalization

Type: advisorySources: OSV

Zitadel is open-source identity infrastructure software. 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". While the setting was correctly respected during the login flow, the user's username was normalized leading to a disclosure of the user's existence. This vulnerability is fixed in 2.71.6, 2.70.8, 2.69.9, 2.68.9, 2.67.13, 2.66.16, 2.65.7, 2.64.6, and 2.63.9.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-31124
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 16:32 UTC · Revision 1

Source evidence

Zitadel allows User Enumeration by loginname attribute normalization

core-osv · Original source

Published 31 Mar 2025, 19:38 UTC

Zitadel is open-source identity infrastructure software. 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". While the setting was correctly respected during the login flow, the user's username was normalized leading to a disclosure of the user's existence. This vulnerability is fixed in 2.71.6, 2.70.8, 2.69.9, 2.68.9, 2.67.13, 2.66.16, 2.65.7, 2.64.6, and 2.63.9.

osv:CVE-2025-31124
Complete source record
{
  "id": "f43c59ca88335bf698d39b9b54f285e9089e1e56c818b4d7311963f3acbec211",
  "url": "https://osv.dev/vulnerability/CVE-2025-31124",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Zitadel allows User Enumeration by loginname attribute normalization",
    "summary": "Zitadel is open-source identity infrastructure software. 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\". While the setting was correctly respected during the login flow, the user's username was normalized leading to a disclosure of the user's existence. This vulnerability is fixed in 2.71.6, 2.70.8, 2.69.9, 2.68.9, 2.67.13, 2.66.16, 2.65.7, 2.64.6, and 2.63.9.",
    "evidence": "osv:CVE-2025-31124",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2025-31124",
      "aliases": [
        "CVE-2025-31124",
        "GHSA-67m4-8g4w-633q"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/zitadel/zitadel",
              "type": "GIT",
              "events": [
                {
                  "introduced": "6210239ed5b8c92bc63d14d050137d2985e99bce"
                },
                {
                  "fixed": "90255ef7d8144a922a7357428cd317b95e41d17a"
                },
                {
                  "introduced": "710a929fad39a83169aa6797487ec7aefb8a4bd8"
                },
                {
                  "fixed": "9a614fa98d00cbb0127a6f374da5b00aa5dd12b6"
                },
                {
                  "introduced": "0aba000355d8f47c213c27b15f9eedc51241a1e3"
                },
                {
                  "fixed": "12ad907d3e36a0db735719c552e5135ae9e9f4bd"
                },
                {
                  "introduced": "e4ebac13aa662bc22574bedf7c33d7c028b783e1"
                },
                {
                  "fixed": "2a889a98533cff2e10cf108eb5c649e47d0dca78"
                },
                {
                  "introduced": "7dc23a749c03eb0c8a4aad30413c2d5b38f89ebc"
                },
                {
                  "fixed": "596567deb93499b22d2bb4a9be99cf8a557e4196"
                },
                {
                  "introduced": "a8e93a77c2ac0ea5733cad7f28c6ce96367724e6"
                },
                {
                  "fixed": "bb5db00e948bc8327aed99b2f82383ba46a7ca9c"
                },
                {
                  "introduced": "8b881f542b621c53e9ca5dd8bd6d62d2f90d4315"
                },
                {
                  "fixed": "314cc1495bd734afe78a2df6955df5ce8288de9a"
                },
                {
                  "introduced": "99c2247ecb36754619617df0c7266162bf37b877"
                },
                {
                  "fixed": "318761fd879c81ac1716bacfb2f84d8374efd92c"
                },
                {
                  "introduced": "732fc6040f69a6703af28151ce2b6cba6e430836"
                },
                {
                  "fixed": "4fde7822d8f728007fb0781690a4f8a6d47a1868"
                },
                {
                  "fixed": "14de8ecac2afafee4975ed7ac26f3ca4a2b0f82c"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "2.62.0"
                      },
                      {
                        "fixed": "2.63.9"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.64.0-rc.1"
                      },
                      {
                        "fixed": "2.64.6"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.65.0-rc.1"
                      },
                      {
                        "fixed": "2.65.7"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.66.0-rc.1"
                      },
                      {
                        "fixed": "2.66.16"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.67.0-rc.1"
                      },
                      {
                        "fixed": "2.67.13"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.68.0-rc.1"
                      },
                      {
                        "fixed": "2.68.9"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.69.0-rc.1"
                      },
                      {
                        "fixed": "2.69.9"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.70.0-rc.1"
                      },
                      {
                        "fixed": "2.70.8"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "introduced": "2.71.0-rc.1"
                      },
                      {
                        "fixed": "2.71.6"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "14de8ecac2afafee4975ed7ac26f3ca4a2b0f82c"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "90255ef7d8144a922a7357428cd317b95e41d17a"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.63.9"
                  },
                  {
                    "range": [
                      {
                        "fixed": "9a614fa98d00cbb0127a6f374da5b00aa5dd12b6"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.64.6"
                  },
                  {
                    "range": [
                      {
                        "fixed": "12ad907d3e36a0db735719c552e5135ae9e9f4bd"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.65.7"
                  },
                  {
                    "range": [
                      {
                        "fixed": "2a889a98533cff2e10cf108eb5c649e47d0dca78"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.66.16"
                  },
                  {
                    "range": [
                      {
                        "fixed": "596567deb93499b22d2bb4a9be99cf8a557e4196"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.67.13"
                  },
                  {
                    "range": [
                      {
                        "fixed": "bb5db00e948bc8327aed99b2f82383ba46a7ca9c"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.68.9"
                  },
                  {
                    "range": [
                      {
                        "fixed": "314cc1495bd734afe78a2df6955df5ce8288de9a"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.69.9"
                  },
                  {
                    "range": [
                      {
                        "fixed": "318761fd879c81ac1716bacfb2f84d8374efd92c"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.70.8"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4fde7822d8f728007fb0781690a4f8a6d47a1868"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.71.6"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v2.63.8",
            "v2.64.5",
            "v2.65.6",
            "v2.66.15",
            "v2.67.12",
            "v2.68.8",
            "v2.69.8",
            "v2.70.7",
            "v2.71.5",
            "v2.69.7",
            "v2.68.7",
            "v2.67.11",
            "v2.66.14",
            "v2.70.6",
            "v2.71.4",
            "v2.70.5",
            "v2.66.13",
            "v2.67.10",
            "v2.68.6",
            "v2.69.6",
            "v2.71.3",
            "v2.70.4",
            "v2.66.12",
            "v2.67.9",
            "v2.68.5",
            "v2.69.5",
            "v2.71.2",
            "v2.70.3",
            "v2.71.1",
            "v2.66.11",
            "v2.67.8",
            "v2.68.4",
            "v2.69.4",
            "v2.70.2",
            "v2.70.1",
            "v2.71.0",
            "v2.70.0",
            "v2.63.7",
            "v2.64.4",
            "v2.65.5",
            "v2.66.10",
            "v2.67.7",
            "v2.69.3",
            "v2.68.3",
            "v2.69.2",
            "v2.68.2",
            "v2.67.6",
            "v2.66.9",
            "v2.69.1",
            "v2.69.0",
            "v2.68.1",
            "v2.67.5",
            "v2.66.8",
            "v2.67.4",
            "v2.66.7",
            "v2.68.0",
            "v2.66.6",
            "v2.67.3",
            "v2.66.5",
            "v2.67.2",
            "v2.67.1",
            "v2.66.4",
            "v2.67.0",
            "v2.66.3",
            "v2.66.2",
            "v2.66.1",
            "v2.66.0",
            "v2.65.4",
            "v2.65.3",
            "v2.65.2",
            "v2.65.1",
            "v2.64.3",
            "v2.65.0",
            "v2.63.6",
            "v2.64.2",
            "v2.64.1",
            "v2.63.5",
            "v2.64.0",
            "v2.63.4",
            "v2.63.3",
            "v2.63.2",
            "v2.63.1",
            "v2.63.0",
            "v2.62.3",
            "v2.62.2",
            "v2.62.1",
            "v2.62.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-31124.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:37.589527541Z",
      "provider": "osv",
      "references": [
        "https://github.com/zitadel/zitadel/releases/tag/v2.63.9",
        "https://github.com/zitadel/zitadel/releases/tag/v2.64.6",
        "https://github.com/zitadel/zitadel/releases/tag/v2.65.7",
        "https://github.com/zitadel/zitadel/releases/tag/v2.66.16",
        "https://github.com/zitadel/zitadel/releases/tag/v2.67.13",
        "https://github.com/zitadel/zitadel/releases/tag/v2.68.9",
        "https://github.com/zitadel/zitadel/releases/tag/v2.69.9",
        "https://github.com/zitadel/zitadel/releases/tag/v2.70.8",
        "https://github.com/zitadel/zitadel/releases/tag/v2.71.6",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/31xxx/CVE-2025-31124.json",
        "https://github.com/zitadel/zitadel/security/advisories/GHSA-67m4-8g4w-633q",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-31124",
        "https://github.com/zitadel/zitadel/commit/14de8ecac2afafee4975ed7ac26f3ca4a2b0f82c"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-200",
          "CWE-203",
          "CWE-204"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/31xxx/CVE-2025-31124.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-31124",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 504720,
  "published_at": "2025-03-31T19:38:12.235+00:00"
}