Skip to content
Heist/ feed
Back to feed
Medium

Zitadel improperly sanitizes HTML in emails and Console UI

Type: advisorySources: OSV

Zitadel is an open source identity management system. ZITADEL uses HTML for emails and renders certain information such as usernames dynamically. That information can be entered by users or administrators. Due to a missing output sanitization, these emails could include malicious code. This may potentially lead to a threat where an attacker, without privileges, could send out altered notifications that are part of the registration processes. An attacker could create a malicious link, where the injected code would be rendered as part of the email. On the user's detail page, the username was also not sanitized and would also render HTML, giving an attacker the same vulnerability. While it was possible to inject HTML including javascript, the execution of such scripts would be prevented by most email clients and the Content Security Policy in Console UI. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8 2.53.9, and 2.52.3.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2024-41953
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 16:42 UTC · Revision 1

Source evidence

Zitadel improperly sanitizes HTML in emails and Console UI

core-osv · Original source

Published 31 Jul 2024, 16:42 UTC

Zitadel is an open source identity management system. ZITADEL uses HTML for emails and renders certain information such as usernames dynamically. That information can be entered by users or administrators. Due to a missing output sanitization, these emails could include malicious code. This may potentially lead to a threat where an attacker, without privileges, could send out altered notifications that are part of the registration processes. An attacker could create a malicious link, where the injected code would be rendered as part of the email. On the user's detail page, the username was also not sanitized and would also render HTML, giving an attacker the same vulnerability. While it was possible to inject HTML including javascript, the execution of such scripts would be prevented by most email clients and the Content Security Policy in Console UI. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8 2.53.9, and 2.52.3.

osv:CVE-2024-41953
Complete source record
{
  "id": "c92be2b9e3eafca1aa92085ad7bf851068ace4b630fe7c28b62f7d97dfb4f3aa",
  "url": "https://osv.dev/vulnerability/CVE-2024-41953",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Zitadel improperly sanitizes HTML in emails and Console UI",
    "summary": "Zitadel is an open source identity management system. ZITADEL uses HTML for emails and renders certain information such as usernames dynamically. That information can be entered by users or administrators. Due to a missing output sanitization, these emails could include malicious code. This may potentially lead to a threat where an attacker, without privileges, could send out altered notifications that are part of the registration processes. An attacker could create a malicious link, where the injected code would be rendered as part of the email. On the user's detail page, the username was also not sanitized and would also render HTML, giving an attacker the same vulnerability. While it was possible to inject HTML including javascript, the execution of such scripts would be prevented by most email clients and the Content Security Policy in Console UI. This vulnerability is fixed in 2.58.1, 2.57.1, 2.56.2, 2.55.5, 2.54.8 2.53.9, and 2.52.3.",
    "evidence": "osv:CVE-2024-41953",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2024-41953",
      "aliases": [
        "CVE-2024-41953",
        "GHSA-v333-7h2p-5fhv",
        "GO-2024-3015"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/zitadel/zitadel",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3e84020065f333b9c945ecd4959e6de0f98414cb"
                },
                {
                  "fixed": "4b59cac67bb89c1f3f84a2041dd273d11151d29f"
                },
                {
                  "introduced": "8ce3af2f9d7cc763ac9c72a038a7f3218259f062"
                },
                {
                  "fixed": "3c7d12834e32426416235b9e3374be0f4b9380b8"
                },
                {
                  "introduced": "50e0e7d564e45cbc351b0b46d6a75dfd924ab528"
                },
                {
                  "fixed": "8565d24fd8df5bd35294313cfbfcc2e15aea20e9"
                },
                {
                  "introduced": "9a9753a911a737649b2e592c20635e515cd2ef8f"
                },
                {
                  "fixed": "0ab0c645ef914298c343fa39cccb1290aba48bf6"
                },
                {
                  "introduced": "c57dfa43b15c35e2864ea01fccd2cc3b9fe4060c"
                },
                {
                  "fixed": "fc1d415b8db5b8d481bb65206ce3fc944c0eecea"
                },
                {
                  "introduced": "24ab096e13efe901344665918dfc3ea9477b0fb4"
                },
                {
                  "fixed": "0e1f99e987b5851caec45a72660fe9f67e425747"
                },
                {
                  "fixed": "38da602ee1cfc35c0d7918c298fbfc3f3674133b"
                },
                {
                  "fixed": "c1a3fc72dde16e987d8a09aa291e7c2edfc928f7"
                },
                {
                  "fixed": "c353f82f89c6982c0888c6763363296cf4263cb2"
                },
                {
                  "fixed": "d04ac6df8f2f0243e649b802a8bfa6176cef0923"
                },
                {
                  "fixed": "f846616a3f022e88e3ea8cea05d3254ad86f1615"
                },
                {
                  "fixed": "5c2526c98aafd1ba206be2fa4291b1d24c384f6d"
                },
                {
                  "fixed": "b0e71a81ef39667ce2a149ce037c1ca0edbe059d"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.52.0"
                      },
                      {
                        "fixed": "2.52.3"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.53.0"
                      },
                      {
                        "fixed": "2.53.9"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.54.0"
                      },
                      {
                        "fixed": "2.54.8"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.55.0"
                      },
                      {
                        "fixed": "2.55.5"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.56.0"
                      },
                      {
                        "fixed": "2.56.2"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:2.57.0:-:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.57.0-NA"
                      },
                      {
                        "last_affected": "2.57.0-NA"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "cpe": "cpe:2.3:a:zitadel:zitadel:2.58.0:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "2.58.0"
                      },
                      {
                        "last_affected": "2.58.0"
                      }
                    ],
                    "source": "CPE_STRING"
                  },
                  {
                    "range": [
                      {
                        "fixed": "0e1f99e987b5851caec45a72660fe9f67e425747"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "38da602ee1cfc35c0d7918c298fbfc3f3674133b"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4b59cac67bb89c1f3f84a2041dd273d11151d29f"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c1a3fc72dde16e987d8a09aa291e7c2edfc928f7"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "c353f82f89c6982c0888c6763363296cf4263cb2"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "d04ac6df8f2f0243e649b802a8bfa6176cef0923"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "f846616a3f022e88e3ea8cea05d3254ad86f1615"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "4b59cac67bb89c1f3f84a2041dd273d11151d29f"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.52.3"
                  },
                  {
                    "range": [
                      {
                        "fixed": "3c7d12834e32426416235b9e3374be0f4b9380b8"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.53.9"
                  },
                  {
                    "range": [
                      {
                        "fixed": "8565d24fd8df5bd35294313cfbfcc2e15aea20e9"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.54.8"
                  },
                  {
                    "range": [
                      {
                        "fixed": "0ab0c645ef914298c343fa39cccb1290aba48bf6"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.55.5"
                  },
                  {
                    "range": [
                      {
                        "fixed": "fc1d415b8db5b8d481bb65206ce3fc944c0eecea"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.56.2"
                  },
                  {
                    "range": [
                      {
                        "fixed": "5c2526c98aafd1ba206be2fa4291b1d24c384f6d"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.57.1"
                  },
                  {
                    "range": [
                      {
                        "fixed": "b0e71a81ef39667ce2a149ce037c1ca0edbe059d"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v2.58.1"
                  }
                ]
              }
            }
          ],
          "versions": [
            "2.57.0-NA",
            "2.58.0",
            "v2.52.2",
            "v2.53.8",
            "v2.54.7",
            "v2.55.4",
            "v2.56.1",
            "v2.58.0",
            "v2.57.0",
            "v2.55.3",
            "v2.56.0",
            "v2.54.6",
            "v2.55.2",
            "v2.55.1",
            "v2.54.5",
            "v2.53.7",
            "v2.54.4",
            "v2.55.0",
            "v2.54.3",
            "v2.53.6",
            "v2.53.5",
            "v2.54.2",
            "v2.53.4",
            "v2.54.1",
            "v2.53.3",
            "v2.54.0",
            "v2.53.2",
            "v2.53.1",
            "v2.52.1",
            "v2.53.0",
            "v2.52.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-41953.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:30.738935871Z",
      "provider": "osv",
      "references": [
        "https://github.com/zitadel/zitadel/releases/tag/v2.52.3",
        "https://github.com/zitadel/zitadel/releases/tag/v2.53.9",
        "https://github.com/zitadel/zitadel/releases/tag/v2.54.8",
        "https://github.com/zitadel/zitadel/releases/tag/v2.55.5",
        "https://github.com/zitadel/zitadel/releases/tag/v2.56.2",
        "https://github.com/zitadel/zitadel/releases/tag/v2.57.1",
        "https://github.com/zitadel/zitadel/releases/tag/v2.58.1",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41953.json",
        "https://github.com/zitadel/zitadel/security/advisories/GHSA-v333-7h2p-5fhv",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-41953",
        "https://github.com/zitadel/zitadel/commit/0e1f99e987b5851caec45a72660fe9f67e425747",
        "https://github.com/zitadel/zitadel/commit/38da602ee1cfc35c0d7918c298fbfc3f3674133b",
        "https://github.com/zitadel/zitadel/commit/4b59cac67bb89c1f3f84a2041dd273d11151d29f",
        "https://github.com/zitadel/zitadel/commit/c1a3fc72dde16e987d8a09aa291e7c2edfc928f7",
        "https://github.com/zitadel/zitadel/commit/c353f82f89c6982c0888c6763363296cf4263cb2",
        "https://github.com/zitadel/zitadel/commit/d04ac6df8f2f0243e649b802a8bfa6176cef0923",
        "https://github.com/zitadel/zitadel/commit/f846616a3f022e88e3ea8cea05d3254ad86f1615"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/41xxx/CVE-2024-41953.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-41953",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 497508,
  "published_at": "2024-07-31T16:42:33.125+00:00"
}