IPBUF安全漏洞报告
English
CVE-2026-44264 CVSS 4.3 中危

CVE-2026-44264 Weblate Markdown清理漏洞

披露日期: 2026-05-07

漏洞信息

漏洞编号
CVE-2026-44264
漏洞类型
跨站脚本 (XSS)
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Weblate

相关标签

XSSWeblateMarkdownCWE-79输入验证

漏洞概述

Weblate是一款广泛使用的基于Web的本地化工具。在5.17.1版本之前,用于渲染用户评论及其他用户内容的Markdown解析器未能对特定HTML属性进行适当清理。攻击者可利用该漏洞注入恶意脚本,导致存储型跨站脚本攻击。这可能允许攻击者窃取会话令牌或执行未授权操作。该问题已在5.17.1版本中修复。

技术细节

该漏洞的核心在于Weblate使用的Markdown渲染组件对HTML属性的过滤机制不完善。在5.17.1之前的版本中,当用户提交包含Markdown语法的评论时,解析器允许特定的HTML标签通过,但未能有效识别并移除具有潜在危险的属性(例如JavaScript事件处理器`onerror`或伪协议`javascript:`)。攻击者可以通过构造特殊的Markdown语法(如`[link](javascript:alert(1))`或带有`onload`属性的图片标签)绕过输入验证。由于漏洞位于评论功能,且需要低权限(PR:L),攻击者只需注册账户即可提交Payload。当管理员或其他具有高权限的用户浏览受污染的评论时,浏览器会解析并执行其中的恶意脚本,从而在受害者的上下文中运行任意代码,破坏数据完整性或进一步渗透系统。

攻击链分析

STEP 1
步骤1
攻击者注册并登录Weblate平台,获取低权限用户身份。
STEP 2
步骤2
攻击者在翻译字符串评论或用户资料中,输入包含恶意HTML属性的Markdown内容(如javascript伪协议链接)。
STEP 3
步骤3
Weblate服务器接收并存储该评论,由于渲染器未正确清理属性,恶意代码被保存在数据库中。
STEP 4
步骤4
管理员或其他用户访问包含该评论的页面进行查看。
STEP 5
步骤5
浏览器解析Markdown并执行注入的恶意脚本,导致XSS攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-44264 # Attackers can inject malicious attributes via Markdown in user comments. # Example 1: Using javascript: protocol in a link payload_1 = """[Click Me](javascript:alert('CVE-2026-44264'))""" # Example 2: Using an image tag with an onerror event handler (if HTML is supported/parsed) payload_2 = """<img src=x onerror=alert('CVE-2026-44264')>""" # Steps to reproduce: # 1. Log in to Weblate with a low-privilege account. # 2. Go to a translation component and add a comment. # 3. Paste the payload into the comment field and submit. # 4. View the comment as an admin user to trigger the script execution.

影响范围

Weblate < 5.17.1

防御指南

临时缓解措施
建议立即将Weblate升级到5.17.1版本。如果暂时无法升级,应严格限制用户提交评论的权限,或者暂时禁用Markdown渲染功能,转而使用纯文本模式,直到完成修复。

参考链接