JSH_ERP BOPLA VULNs Report
✅ Issue 1:POST /user/resetPwd
最大危害(一句话)
-
任意已登录用户可直接重置同租户内任意非 admin 账号密码并接管会话,形成横向账号接管与权限扩散。
修复关键点(一句话)
-
将 resetPwd 改为基于当前用户的强授权模型:仅允许“本人改密码”或“具备用户管理权限的管理员在授权范围内操作”,并强制校验旧密码或二次确认。
✅ Issue 2:PUT /user/updateUser
最大危害(一句话)
-
任意已登录用户可将自己或他人提升为更高权限角色并重绑组织,导致服务端数据权限边界被扩大甚至全租户接管。
修复关键点(一句话)
-
在 updateUser 中引入三重上界约束:
-
可操作用户范围(target user scope)
-
可分配角色上界(role ceiling)
-
可变更组织范围(org boundary)
任一越界即拒绝写入。
-
✅ Issue 3:PUT /role/update
最大危害(一句话)
-
任意用户可篡改角色模板(type/priceLimit),使普通角色变为高权限角色并影响所有绑定用户,形成批量权限放大与业务规则失真。
修复关键点(一句话)
-
对 role.update 增加角色级管理授权与字段级约束:
-
禁止低权限用户提升 role.type
-
禁止放宽 priceLimit
-
仅允许操作自身可管理角色集合
-
⚠️ Issue 4:UserDepot(条件型风险)
最大危害(一句话)
-
当
depotFlag=1时,用户可扩展仓库访问范围,造成库存与出入库数据越权访问/操作。
修复关键点(一句话)
-
对
type=UserDepot引入独立授权控制,并与系统开关(depotFlag)联动校验。
⚠️ Issue 5:AccountHead(弱闭环但有业务风险)
最大危害(一句话)
-
可将资金单据写入未授权往来单位,并在预付款场景下污染账务,造成财务数据错误甚至资金判断失真。
修复关键点(一句话)
-
对
organ_id做对象级授权校验,确保只能操作当前用户有权限的往来单位。

浙公网安备 33010602011771号