SILO 20260417 发布

针对 OIDC、LDAP STS、S3 Select、复制元数据、unsigned-trailer 与 Go 工具链的集中安全加固。

发布日期: 2026-04-17 · 版本: RELEASE.2026-04-17T00-00-00Z

本次版本聚焦安全加固与兼容性收敛,集中修复了 OIDC、LDAP STS、S3 Select、对象复制元数据、unsigned-trailer、Snowball 上传链路,以及依赖与 Go 工具链相关的多项安全问题,并同步完成 LDAP TLS 回归修复与社区分叉文档整理。

主要变更

  • 身份认证链路收紧:OIDC / WebIdentity 现在只接受来自 IdP JWKS 的非对称签名 ID TokenHS256 等对称签名 token 不再被接受;LDAP STS 统一隐藏“未知用户”和“密码错误”的区别,降低用户名枚举风险。
  • LDAP STS 限流行为更新:限流现在同时按源 IP 与归一化用户名生效,成功请求不再错误消耗额度;默认仅使用 socket peer address 作为源地址,不再信任 X-Forwarded-ForX-Real-IPForwarded,如需按真实客户端 IP 限流,需显式配置 MINIO_IDENTITY_LDAP_STS_TRUSTED_PROXIES
  • 上传与写入路径更严格:presigned query 参数不能再与 unsigned-trailerPUT / multipart 上传组合使用;Snowball auto-extract 在 unsigned-trailer 路径下也会执行完整签名校验,匿名或伪造签名请求将被拒绝。
  • 复制元数据不再可伪造:普通 PUT / COPY 请求夹带的 X-Minio-Replication-* 内部复制头现在会被拒绝或忽略,只有可信复制链路才能写入相关内部元数据。
  • S3 Select 错误语义更明确:CSV 和 line-delimited JSON 遇到超大记录时会直接返回 OverMaxRecordSize,不再笼统返回 InternalError;依赖旧错误码的客户端或告警规则需要同步调整。
  • 运行时与依赖基线升级:修复 ldaps:// 未正确应用 TLS 配置的回归问题,替换 minio/pkg/v3pgsty/minio-pkg/v3,并锁定若干易引入 breaking changes 的关键依赖;同时升级 go-josego.opentelemetry.io 与 Go 1.26.2,统一构建与发布基线。
  • 文档与安全说明同步更新:刷新 SECURITY.mdVULNERABILITY_REPORT.mddocs/sts/ldap.md 等文档,新增安全通告索引,并将安全说明中的上游 minio/minio 引用统一切换为 pgsty/minio

修复的 CVE

  • CVE-2026-34986:升级 go-josev4.1.4,修复 JWT / JOSE 依赖中的已知安全问题。
  • CVE-2026-39883:升级 go.opentelemetry.io 依赖栈,修复 PATH hijacking 风险。
  • CVE-2026-33322:恢复严格的 JWKS-only OIDC JWT 验证路径,阻断 keyring 注入与算法混淆风险。
  • CVE-2026-33419:系统性强化 LDAP STS 认证、限流、源地址识别与记账逻辑,涉及 4 个后续修复提交。
  • CVE-2026-34204:拒绝不可信请求注入 X-Minio-Replication-* 元数据,防止对象被写入异常复制状态。
  • CVE-2026-39414:提前拒绝超大 S3 Select 记录,避免异常数据持续缓冲和解析。
  • GHSA-hv4r-mvr4-25vw:封堵 unsigned-trailer query auth 绕过。
  • GHSA-9c4q-hq6p-c237:加固 Snowball auto-extract 场景中的 unsigned-trailer 认证与签名校验。
  • CVE-2026-32280CVE-2026-32281CVE-2026-32283:升级 Go 到 1.26.2,吸收上游工具链与标准库安全修复。
  • c878ca0:fix: pin deps with breaking changes and fix LDAP TLS regression (#15)
  • e970ec5:fix: upgrade go-jose to v4.1.4 to patch CVE-2026-34986
  • a206510:fix: CVE-2026-39883 upgrade go.opentelemetry.io
  • fd65f11:merge: PR #18 upgrade go-jose to v4.1.4 for CVE-2026-34986
  • bc087e4:merge: PR #19 upgrade go.opentelemetry.io for CVE-2026-39883
  • f1f2239:fix: CVE-2026-33322 restore JWKS-only OIDC JWT verification
  • 6619d0c:fix: CVE-2026-33419 harden LDAP STS auth
  • fcb8f24:fix: CVE-2026-34204 reject untrusted replication metadata
  • c5765dc:fix: CVE-2026-39414 reject oversized S3 Select records
  • fa7c579:fix: GHSA-hv4r-mvr4-25vw block unsigned-trailer query auth bypass
  • b50ab58:fix: GHSA-9c4q-hq6p-c237 harden Snowball unsigned-trailer auth
  • 9a4b3cd:fix: CVE-2026-32280/CVE-2026-32281/CVE-2026-32283 upgrade Go to 1.26.2
  • c55b52c:fix: CVE-2026-33419 preserve LDAP STS rate limits on success
  • 817a457:fix: CVE-2026-33419 harden LDAP STS rate-limit source IP
  • 084a154:fix: CVE-2026-33419 tighten LDAP STS rate-limit accounting
  • 16e34f9:docs: refresh security guidance and fork references
最后修改 August 2, 2026: init commit (8338d5b)