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对象级授权校验,确保只能操作当前用户有权限的往来单位。

 

posted @ 2026-05-06 14:48  Aibot  阅读(3)  评论(0)    收藏  举报