IPBUF安全漏洞报告
English
CVE-2026-35208 CVSS 5.4 中危

CVE-2026-35208 Lichess HTML注入漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-35208
漏洞类型
HTML注入
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Lichess

相关标签

HTML注入LichessCSP绕过UI注入服务器端注入

漏洞概述

Lichess是一个永久免费、无广告且开源的国际象棋服务器。该漏洞允许任何已批准的主播通过在Twitch或YouTube的流标题中放置标记,将任意HTML注入到/streamer页面和主页的“实时流”小部件中。虽然存在内容安全策略(CSP)阻止了内联脚本的执行,但这仍然是一个服务器端HTML注入漏洞。触发此漏洞仅需一个满足正常主播要求(即账户注册超过2天且至少下过15盘棋,或者是已验证/有称号的账户)并获得管理员批准的Lichess账户。

技术细节

该漏洞的根本原因在于Lichess在渲染外部直播平台数据时缺乏严格的输入验证和输出编码。当主播获得批准并开始直播时,Lichess会从Twitch或YouTube API获取当前的流标题,并将其未经处理地直接插入到服务器渲染的HTML中。由于系统未对标题内容进行HTML实体转义,攻击者可以构造包含HTML标签的恶意标题。尽管CSP策略限制了脚本的执行,防止了直接的XSS攻击,但攻击者仍可利用HTML注入能力进行页面篡改(如覆盖内容、注入虚假链接)或钓鱼攻击。攻击链无需用户交互即可在服务端渲染阶段完成注入。

攻击链分析

STEP 1
注册与准备
攻击者注册一个Lichess账户,并满足主播申请要求(如注册满2天且完成15局游戏,或拥有称号)。
STEP 2
申请主播权限
攻击者申请成为Lichess认证主播,并等待管理员批准。
STEP 3
构造恶意标题
攻击者在Twitch或YouTube后台将直播标题修改为包含HTML标签的恶意载荷。
STEP 4
触发注入
攻击者开始直播,Lichess系统自动抓取标题并渲染到前端页面,导致HTML注入生效。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// Conceptual PoC: Setting a malicious stream title // Attacker sets the following title on their Twitch/YouTube dashboard // Payload example to inject an image overlay (defacement) const payload = '<img src="https://attacker-controlled-server.com/fake-logo.png" style="position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;">'; // When Lichess fetches the stream status, it renders this string directly into the DOM // Result: The image covers the Lichess streamer page for all visitors. console.log("Malicious Title Payload: " + payload);

影响范围

Lichess (Commit 0d5002696ae705e1888bf77de107c73de57bb1b3 之前)

防御指南

临时缓解措施
建议管理员暂时加强对主播申请的审核力度。对于用户而言,在浏览Lichess直播页面时,若发现页面布局异常或出现非官方的弹窗/图片,应提高警惕,不要轻易点击不明链接。根本的解决方法是应用官方补丁,确保对外部数据的渲染进行了适当的转义处理。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表