CVE-2025-68946CVE-2025-68946是Gitea中的一个存储型跨站脚本(XSS)漏洞。该漏洞存在于Gitea 1.20.1之前的版本中,攻击者可以利用javascript:等禁止的URL方案在页面中插入恶意链接。当其他用户访问包含恶意链接的页面时,攻击者注入的JavaScript代码将在受害者浏览器中执行,从而窃取会话Cookie、劫持用户账户或执行其他恶意操作。该漏洞的CVSS评分为5.4,属于中等严重程度,需要低权限用户进行交互才能触发。由于Gitea是一个广泛使用的自托管Git服务,该漏洞可能影响大量使用Gitea进行代码托管和协作开发的组织和个人。攻击者可以通过在问题、评论、文件描述等用户可输入内容的位置注入恶意链接来利用此漏洞。
该漏洞的根本原因在于Gitea对用户输入的URL链接验证不充分。具体来说,Gitea在处理用户提交的链接时,未能正确过滤或限制javascript:等危险的URL协议。当攻击者在Gitea中创建包含javascript:协议链接的内容时,该链接会被存储并在页面渲染时输出到HTML中。受害者访问包含恶意链接的页面时,点击该链接或页面自动解析该链接时,嵌入的JavaScript代码就会在受害者的浏览器上下文中执行。攻击者可以利用此漏洞执行各种客户端攻击,包括但不限于:窃取用户的会话令牌、获取用户敏感信息、伪装成合法用户进行操作、或将受害者重定向到钓鱼网站。修复该漏洞需要在URL处理逻辑中添加协议白名单验证,确保只有http:、https:等安全协议被允许,而javascript:、data:等危险协议被阻止。