## GitHub 代码库惊现高危权限提升漏洞：用户可一键自提为管理员
一个严重的安全漏洞潜伏在用户资料更新接口中，允许任何经过身份验证的用户通过一次简单的 API 请求，将自己提升为拥有完全权限的系统管理员。该漏洞源于 `src/api/users.js` 文件中的一段危险代码，它不加区分地将客户端请求的所有字段合并到用户对象中。攻击者只需向 `/api/users/profile` 发送一个包含 `"role": "admin"` 字段的 PUT 请求，即可瞬间获得管理员身份。

此漏洞被归类为 CWE-915（大规模赋值漏洞），其核心风险在于代码逻辑的过度信任。在文件的第32至40行，开发者使用了对象展开运算符 `{ ...user, ...req.body, updatedAt: new Date() }` 来更新用户资料。这种写法虽然简洁，却将请求体中的所有字段（包括本应只读或受保护的字段）直接赋值给了数据库对象。攻击者利用此缺陷，不仅能篡改自己的角色，理论上还可能修改其他敏感属性，如账户状态或权限组。

一旦攻击者成功将角色提升为“admin”，其影响是毁灭性的。他们将立即获得访问所有管理员专属端点的权限，包括查看系统报告、管理其他用户账户、修改配置，甚至可能执行更危险的操作。这相当于将整个应用的后台控制权拱手让人。目前，唯一的修复方案是实施严格的字段白名单验证：开发者必须重构代码，明确声明并仅允许更新特定的安全字段，例如 `const { name, email } = req.body;`，从而彻底堵死权限提升的路径。
---
- **Source**: GitHub Issues
- **Sector**: The Lab
- **Tags**: 安全漏洞, 权限提升, 代码审计, CWE-915, Node.js
- **Credibility**: unverified
- **Published**: 2026-04-03 20:27:06
- **ID**: 49476
- **URL**: https://whisperx.ai/en/intel/49476