CVE-2026-42150wlc是Weblate的命令行客户端,使用其REST API进行交互。在2.0.0版本之前,当使用HTML格式输出时,wlc未对API响应数据进行适当的HTML转义。如果API返回的数据中包含恶意脚本(例如由攻击者控制的翻译字符串或用户名),生成的HTML文件在浏览器中渲染时将执行这些脚本。攻击者可利用此漏洞进行跨站脚本攻击,窃取敏感信息或执行恶意操作。该问题已在2.0.0版本中修复。
该漏洞属于存储型跨站脚本(Stored XSS)的一种变体。漏洞根源在于wlc在生成HTML报告时,直接将从Weblate REST API获取的原始数据嵌入到HTML模板中,而未经过任何HTML实体编码或过滤。由于API数据可能包含来自不可信来源的内容(如翻译字符串、项目描述等),一旦攻击者具备高权限(PR:H)并能在Weblate服务器上注入恶意Payload,当管理员或用户使用wlc生成HTML报告并在浏览器中查看时(UI:R),浏览器会将这些数据解析为HTML/JavaScript代码并执行。攻击者利用此漏洞可绕过同源策略,窃取用户Cookie、会话令牌或重定向用户至钓鱼网站。由于CVSS向量中作用域为S:C,攻击可能进一步扩展到浏览器访问的其他同源页面。