Zitadel improperly sanitizes HTML in emails and Console UI
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 sourcePublished 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"
}