1.8 KiB
1.8 KiB
🔴 安全热修:小程序相册接口横向越权(IDOR)修复 — 小程序
变更类型:安全修复(后端归属校验加固,正常使用无影响,无契约变更) 端类型:小程序(相册) 日期:2026-06-17 服务:hl-order-service-v2(相册域) PR:wx/HL#3911
说明
api-contract-audit 审计小程序 BFF 时发现:相册的 4 个接口存在横向越权(IDOR)——后端收到当前用户 userId 后未做归属校验,任意登录用户改 URL 里的 orderId/folderId/albumFileId 即可读取/操作他人订单的相册。本次已修复:后端强制校验"相册所属订单归属当前登录用户",越权一律返回"不存在"。
涉及接口(小程序相册):
- 订单文件夹列表、文件夹文件列表、文件下载地址获取、文件夹公开授权(写)。
前端影响:无需改动
- 正常使用完全不受影响:用户访问自己订单的相册照常工作。
- 仅"访问他人订单相册"这种越权请求会被拒(返回资源不存在)——前端正常逻辑不会触发。
- 接口路径、入参、返回结构均未变。
如果前端有任何调试/测试代码用了非当前用户的 orderId/folderId 访问相册,请改为只访问当前用户自己的资源(之前能拿到是 bug,现已封堵)。
校验
| 项目 | 信息 |
|---|---|
| PR | wx/HL#3911(squash 合并 dev-v3,via api-contract-audit workflow) |
| 部署 | 已部署测试服,order-v2 双实例健康(滚动重启 uptime 刷新) |
| 测试 | 相册模块单测全绿(新增越权拒绝反例:非本人订单/null-userId/订单缺失 + happy path + 防穿透 verify) |
| 后端负责人 | wx |