漏洞总结:LalanaChami 药房管理系统权限提升漏洞 漏洞概述 漏洞名称:未验证的角色分配导致的权限提升 (Privilege Escalation via Unvalidated Role Assignment) CVE 编号:CVE-2026-31071 漏洞类型:CWE-269 (Improper Privilege Management) 受影响组件: (注册接口) 根本原因:注册接口 ( ) 接受用户控制的 参数,并直接将其赋值给新用户,后端未进行任何校验。攻击者可在注册时注入 获取管理员权限。 影响范围 受影响版本:Commit (Latest master) 技术栈:Node.js, Express, MongoDB, Angular 影响后果: 权限提升:任何未认证用户均可自赋管理员角色。 系统完全沦陷:管理员权限可控制用户、库存、销售、处方及供应商。 无需认证:无需现有账号或登录即可利用。 修复方案 1. 服务端角色分配(推荐):后端强制指定默认角色(如 ),禁止前端传入。 2. 角色白名单校验:校验传入的 是否在允许的基础角色列表中。 3. 管理员创建接口:普通注册仅创建基础用户,特权角色需通过管理员接口创建。 4. 模型层校验:在 Mongoose Schema 中定义 限制角色值。 概念验证代码 (POC) 1. 漏洞代码片段 (Vulnerable Code) 文件: 2. 手动复现利用代码 (Manual Reproduction) 创建管理员账号: 使用管理员账号登录: 3. 修复代码示例 (Remediation) 选项 1:服务端强制分配默认角色 选项 2:角色白名单校验 选项 3:模型层枚举校验**