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