tsdaer 发布于
>=2.25.0
根因
设置服务会把同一主机的签名凭证归并成「单个元素、内嵌换行」的形态(host: access: X + 换行 + host: secret: Y),而签名解析把列表元素当作一行处理——归一化形态的值因包含换行被防注入检查整条拒绝。自 1.6.4 引入 SigV4 支持以来,通过设置页配置的签名凭证从未真正生效过,私有桶请求全部以未签名发出,R2 回 400 InvalidArgument / Authorization。
此前的测试直接注入逐行形态的凭证,恰好绕过了归一化这一环,因此一直未能发现。
修复
parseSigningRules先把每个元素按行拆开再解析:设置页保存的「一行一条」与设置服务归一化后的「内嵌换行」两种形态均支持;防注入检查保留(拆行后的值不再包含换行)。- 新增走完整链路的回归测试:UI 两行凭证 → 设置服务归一化 → 代理签名,断言
Authorization头存在;并对真实 R2 私有桶验证同一链路可正常流式取回。
升级
升级到 1.7.4 后无需重新配置,已保存的签名凭证即刻生效。
Generated from v1.7.4
资源下载
- plugin-my-docs-1.7.4.jar