CVE-2026-24050: Zulip Unescaped Translation Html Injection

The plain text translation function `$t()` does not escape HTML characters in interpolated variables. Passing its output to `ui_report.*` functions evaluates the string as raw HTML, which can lead to Cross-Site Scripting (XSS). Use `$t_html()` instead to ensure that user-controlled variables are properly HTML-escaped.

Provally CuratedPublic repositoryHighMedium confidenceVerifiedApache-2.0TS
greprules fetch cve-2026-24050-zulip-unescaped-translation-html-injection --engine opengrep

Description

The plain text translation function `$t()` does not escape HTML characters in interpolated variables. Passing its output to `ui_report.*` functions evaluates the string as raw HTML, which can lead to Cross-Site Scripting (XSS). Use `$t_html()` instead to ensure that user-controlled variables are properly HTML-escaped.