VWCG-1237 CODE-01 弱口令漏洞最小整改
历史密码保持可验证,弱密码用户登录后必须改密
最小闭环:新吴区initial_pwd改为环境专属强密码 + 历史密码哈希不批量改 + PC登录后检查强度 + 弱密码只允许改密 + 修正Token缓存判定并清旧会话。
能否关闭扫描漏洞
可以。完成条件是:报告中的管理员原密码不可登录;PC弱密码不签发业务Token;四个密码入口不能再生成弱密码;新吴区initial_pwd已改强;旧Token和现有后台会话失效。
只提示但允许弱密码进入后台,或只改代码不改生产管理员密码,都不能算关闭。
三项代码整改
登录后检查强度
密码哈希验证成功后检查12位规则。强密码正常登录;弱密码返回WEAK_PASSWORD,不签发业务Token,只允许改密。
还原密码安全
继续使用全局initial_pwd,但还原前必须确认当前环境配置满足强密码规则,不合规则拒绝。
旧Token失效
缓存不存在时Token直接无效;发布后删除admin_session_activity_*,所有后台用户重新登录。
initial_pwd调整边界
它同时用于人员新增/导入、小程序、外部API、一卡通和定时脚本。新值必须配置在新吴区环境专属配置中,真实值不进入Git。修改只影响以后自动创建的账号,不会改动现有用户密码哈希。
旧密码如何保持可用
旧密码验证成功
→ 检查是否满足12位强密码规则
→ 符合:正常登录
→ 不符合:返回 WEAK_PASSWORD,不签发Token
→ 用户使用旧密码完成改密
→ 使用新密码重新登录
明确不做
- 不新增must_change_pwd或session_version。
- 不批量修改历史用户密码哈希。
- 不修改login_check及历史验证码功能。
- 本次弱密码登录拦截只作用于PC后台。
最终业务边界
| 入口 | 历史弱密码处理 |
|---|---|
| PC后台 | 验证成功后检查强度;弱密码不发Token,必须改密。 |
| 小程序/移动端 | 不增加强制改密,历史旧密码正常使用。 |
| 其他API | 不增加强制改密,现有流程不变。 |
同一账号在PC改密后,其他端随后也要使用新密码;未进入PC的历史账号不会被批量改密。
实施顺序
- 修改PC密码规则和登录成功后的弱密码判断。
- 为还原密码增加initial_pwd强度检查。
- 修正Token缓存缺失判定。
- 同步PC改密弹窗、测试和OpenAPI/Apifox。
- 在新吴区环境配置强initial_pwd并确认自动建号影响。
- 发布后修改生产管理员密码并清理会话活动缓存。
- 验证旧弱密码可改密但不能进入业务,旧Token不可用。
审核确认
| 新吴区initial_pwd改为环境专属强密码 | 待确认 |
| 历史密码不批量改,弱密码登录后必须改密 | 待确认 |
| 还原密码继续使用initial_pwd,但增加强度门禁 | 待确认 |
| 发布后全部后台用户重新登录 | 待确认 |
当前仅更新方案,尚未修改store/master_patch代码。