乐于分享
好东西不私藏

医疗管理插件曝严重漏洞,只需邮箱即可登录任意患者账户 CVE-2026-2991

医疗管理插件曝严重漏洞,只需邮箱即可登录任意患者账户 CVE-2026-2991

医疗管理插件曝严重漏洞,只需邮箱即可登录任意患者账户

近日,Wordfence安全团队披露了WordPress医疗管理插件KiviCare的一个严重身份认证绕过漏洞(CVE-2026-2991),CVSS评分高达9.8分。攻击者仅需知道目标用户的邮箱地址,无需任何密码或令牌验证,即可以该用户身份登录系统。

漏洞背景

KiviCare是一款面向诊所和医疗机构的WordPress插件,提供电子健康记录(EHR)管理功能,包括患者信息管理、预约调度、处方管理、账单处理等。根据WordPress官方统计,该插件下载量超过11万次,主要用户为中小型诊所和私人医疗机构。

漏洞原理

问题出在插件的社交登录功能上。patientSocialLogin()函数在处理登录请求时,本应验证社交提供商返回的访问令牌,但实际实现中这一关键步骤被跳过了:

正常流程:
1. 用户提交邮箱和社交令牌
2. 向Google/Facebook验证令牌有效性  <- 被跳过
3. 确认令牌对应的邮箱匹配  <- 被跳过
4. 授予访问权限

实际流程:
1. 用户提交邮箱和任意字符串
2. 直接根据邮箱查找用户并授权

这意味着攻击者只需提供目标患者的邮箱地址和任意伪造的token值,系统就会乖乖返回认证Cookie。

更严重的问题

漏洞还存在一个设计缺陷:认证Cookie的设置发生在角色验证之前。即使目标用户不是患者(比如是管理员),系统虽然最终会返回403错误,但管理员的认证Cookie已经在响应头中泄露了。

这意味着攻击者可以通过这个漏洞窃取管理员账户的访问权限。

影响范围

受影响版本:KiviCare <= 4.1.2

攻击者可获取的敏感数据包括:

  • 患者个人身份信息
  • 医疗诊断记录
  • 处方药物信息
  • 账单和支付记录
  • 预约历史

对于医疗机构而言,这类数据泄露可能面临HIPAA(美国)或GDPR(欧盟)的严重合规处罚。

攻击演示

import requests

payload = {
"email""victim@example.com",
"token""anything_works_here",
"provider""google"
}

response = requests.post(
"https://target-clinic.com/wp-json/kivicare/api/v1/auth/patient-social-login",
    json=payload
)

# 响应头中包含有效的认证Cookie
print(response.headers.get('Set-Cookie'))

修复建议

官方已发布修复版本4.2.1,请立即更新:

  1. 登录WordPress后台
  2. 进入插件管理页面
  3. 更新KiviCare至最新版本

在更新前,建议临时禁用社交登录功能,并审计系统访问日志排查可疑登录行为。

安全启示

这个漏洞再次提醒我们:

  1. OAuth/社交登录的实现必须在服务端验证令牌,绝不能信任客户端提交的数据
  2. 敏感操作(如设置Cookie)应在所有验证完成后进行
  3. 医疗等敏感领域使用WordPress插件需要格外谨慎,建议评估专业医疗信息系统

参考链接:

  • https://www.wordfence.com/threat-intel/vulnerabilities/id/8d22448b-aa8e-4775-b7c5-e7bae94a3f6d
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 医疗管理插件曝严重漏洞,只需邮箱即可登录任意患者账户 CVE-2026-2991

猜你喜欢

  • 暂无文章