Silo
23 篇-
SILO 一年回顾:相比上游 MinIO,我们到底干了什么?
2025 年 10 月 15 日,MinIO 发布了最后一个公开开源版本 RELEASE.2025-10-15T17-29-55Z(提交 9e49d5e7a648)。随后两个月里,上游先宣布进入“维护模式”,接着删除了 minio/console 仓库,最终在 2026 年 2 月将主仓库彻底归档,把所有后续 CVE 修复与维护留在商业版 AIStor 中。 到 2026 年 10 月 26 日,SILO 打下 RELEASE.2026-10-26T00-00-00Z 标签(提交 …
2025 年 10 月 15 日,MinIO 发布了最后一个公开开源版本 RELEASE.2025-10-15T17-29-55Z(提交 9e49d5e7a648)。随后两个月里,上游先宣布进入“维护模式”,接着删除了 minio/console 仓库,最终在 2026 年 2 月将主仓库彻底归档,把所有后续 CVE 修复与维护留在商业版 AIStor 中。 到 2026 年 10 月 26 日,SILO 打下 RELEASE.2026-10-26T00-00-00Z 标签(提交 …
-
SILO 20261018 发布说明
Server 20261018 已正式发布,提供 amd64 与 arm64 版本化归档、原生软件包及 Docker Hub 标准/distroless 镜像。本版本接替 Server 20260916(20261015 保留为已撤回的历史草稿记录)。 身份 值 发行标签 RELEASE.2026-10-18T00-00-00Z 软件包版本 20261018000000.0.0 发行源码 0cd388c666f8211f552604ae73448a066e9c25ce 上一正式版源码 …
Server 20261018 已正式发布,提供 amd64 与 arm64 版本化归档、原生软件包及 Docker Hub 标准/distroless 镜像。本版本接替 Server 20260916(20261015 保留为已撤回的历史草稿记录)。 身份 值 发行标签 RELEASE.2026-10-18T00-00-00Z 软件包版本 20261018000000.0.0 发行源码 0cd388c666f8211f552604ae73448a066e9c25ce 上一正式版源码 …
-
十月安全更新:Object Lock、管理凭据与 JWK 解析
SILO Server 20261018 正式交付了 SN-2026-015、SN-2026-016 与 SN-2026-017 三项安全修复、细粒度 STS 令牌撤销机制,以及跨 silo、mcli 与 silo-console 的 Go 工具链与依赖库安全更新。Server 20260916 与 20260903 均受影响(20261015 为已被替代的预发布草稿)。 Object Lock:SN-2026-015 与 SN-2026-016 SN-2026-015 与 …
SILO Server 20261018 正式交付了 SN-2026-015、SN-2026-016 与 SN-2026-017 三项安全修复、细粒度 STS 令牌撤销机制,以及跨 silo、mcli 与 silo-console 的 Go 工具链与依赖库安全更新。Server 20260916 与 20260903 均受影响(20261015 为已被替代的预发布草稿)。 Object Lock:SN-2026-015 与 SN-2026-016 SN-2026-015 与 …
-
SILO 20261015:已替代草稿记录
状态:已被正式版 Server 20261018 替代。 RELEASE.2026-10-15T00-00-00Z 曾于 2026-10-15 13:52:28(UTC+8)短暂公开,随后撤回为 Draft 并由包含完整十月修复栈的 20261018 接替。本页归档该候选版的源码范围与制品验收记录,新部署与升级请直接使用 20261018。 历史标签:RELEASE.2026-10-15T00-00-00Z 软件包版本:20261015000000.0.0 候选源码 …
状态:已被正式版 Server 20261018 替代。 RELEASE.2026-10-15T00-00-00Z 曾于 2026-10-15 13:52:28(UTC+8)短暂公开,随后撤回为 Draft 并由包含完整十月修复栈的 20261018 接替。本页归档该候选版的源码范围与制品验收记录,新部署与升级请直接使用 20261018。 历史标签:RELEASE.2026-10-15T00-00-00Z 软件包版本:20261015000000.0.0 候选源码 …
-
对象锁保留期越权与版本覆写漏洞修复设计(SN-2026-015 / SN-2026-016)
本文档完整记录针对外部报告与内部关联排查发现的两处对象锁(Object Lock / WORM)安全缺陷——**SN-2026-015(PutObjectRetention 绕过请求头越权与条件策略失灵)**与 SN-2026-016(版本寻址写入覆写绕过及写路径锁缺口)——的事实核验、Git 历史溯源、修复设计、关键路径影响评估与候选方案的权衡取舍。完整修复(#234、#235、#241)已随 Server 20261018 正式发布。 关联公开安全公告: SN-2026-015 / …
本文档完整记录针对外部报告与内部关联排查发现的两处对象锁(Object Lock / WORM)安全缺陷——**SN-2026-015(PutObjectRetention 绕过请求头越权与条件策略失灵)**与 SN-2026-016(版本寻址写入覆写绕过及写路径锁缺口)——的事实核验、Git 历史溯源、修复设计、关键路径影响评估与候选方案的权衡取舍。完整修复(#234、#235、#241)已随 Server 20261018 正式发布。 关联公开安全公告: SN-2026-015 / …
-
SN-2026-015 与 SN-2026-016:S3 Object Lock 治理模式保留锁绕过与指定版本号原地覆盖漏洞分析
SN-2026-015 与 SN-2026-016 涵盖了在 SILO Server 20261018 中通过 PR #234(14042b5aa)与 PR #235(0d3ba5d4c)修复的两组 S3 Object Lock 合规保留与不可变性漏洞(配套修复设计方案)。虽然删除路径此前已按 CVE-2023-25812 正确校验 s3:BypassGovernanceRetention,但保留期修改路径(PutObjectRetention)与四条原地版本覆写路径仍存在绕过缺陷。 漏洞范围 …
SN-2026-015 与 SN-2026-016 涵盖了在 SILO Server 20261018 中通过 PR #234(14042b5aa)与 PR #235(0d3ba5d4c)修复的两组 S3 Object Lock 合规保留与不可变性漏洞(配套修复设计方案)。虽然删除路径此前已按 CVE-2023-25812 正确校验 s3:BypassGovernanceRetention,但保留期修改路径(PutObjectRetention)与四条原地版本覆写路径仍存在绕过缺陷。 漏洞范围 …
-
SILO 20260916 发布注记
版本日期: 2026-09-16 · 正式发布: 2026-09-17(UTC 2026-09-16) · 标签: RELEASE.2026-09-16T00-00-00Z · 软件包版本: 20260916000000.0.0。安装入口见下载页。 源码范围为已发布提交 9b11dc9469e6 到本版 2a4d51406b7e,共 210 个提交,其中 140 个非合并提交。本文覆盖该范围内的最终行为,包含 #214 之后的列表 quorum、版本 purge 和迁移标签修复。 本版重点 更完 …
版本日期: 2026-09-16 · 正式发布: 2026-09-17(UTC 2026-09-16) · 标签: RELEASE.2026-09-16T00-00-00Z · 软件包版本: 20260916000000.0.0。安装入口见下载页。 源码范围为已发布提交 9b11dc9469e6 到本版 2a4d51406b7e,共 210 个提交,其中 140 个非合并提交。本文覆盖该范围内的最终行为,包含 #214 之后的列表 quorum、版本 purge 和迁移标签修复。 本版重点 更完 …
-
SN-2026-011:修复与发布状态
SN-2026-011 于 2026-09-13 在 Server 主分支修复(起始提交 123325430),并已随 Server 20260916 正式发布。Server RELEASE.2026-09-03T13-18-01Z 及更早版本均受影响(同期发布的 silo-pkg v3.14.0 与 mcli 20260913 属于依赖库与客户端版本,不包含服务端二进制修复)。 在未修复版本中,持有合法签名 PUT 请求的调用方可以追加未签名的 x-amz-copy-source 请求头,将该 …
SN-2026-011 于 2026-09-13 在 Server 主分支修复(起始提交 123325430),并已随 Server 20260916 正式发布。Server RELEASE.2026-09-03T13-18-01Z 及更早版本均受影响(同期发布的 silo-pkg v3.14.0 与 mcli 20260913 属于依赖库与客户端版本,不包含服务端二进制修复)。 在未修复版本中,持有合法签名 PUT 请求的调用方可以追加未签名的 x-amz-copy-source 请求头,将该 …
-
Silo 20260903 正式发布
版本日期: 2026-09-03 · 正式发布: 2026-09-04 · 版本: RELEASE.2026-09-03T13-18-01Z · 上一版本: RELEASE.2026-08-06T00-00-00Z SILO 20260903 是首个完整使用 Silo 品牌的版本之后的一次安全与正确性发布,重点收紧核心服务端不变量:客户端 header 不能凭空获得复制权限;浏览器 Origin 不能在鉴权前触发桶元数据 I/O;并发桶配置写入不能彼此静默覆盖;授权与校验和行为进一步对齐 AWS …
版本日期: 2026-09-03 · 正式发布: 2026-09-04 · 版本: RELEASE.2026-09-03T13-18-01Z · 上一版本: RELEASE.2026-08-06T00-00-00Z SILO 20260903 是首个完整使用 Silo 品牌的版本之后的一次安全与正确性发布,重点收紧核心服务端不变量:客户端 header 不能凭空获得复制权限;浏览器 Origin 不能在鉴权前触发桶元数据 I/O;并发桶配置写入不能彼此静默覆盖;授权与校验和行为进一步对齐 AWS …
-
Silo 20260806 发布
版本: RELEASE.2026-08-06T00-00-00Z · 提交: 3be10fcc1a44f6620ded0bd303461f9d688cca23 SILO 20260806 是 首个以 Silo 之名发布的版本。上一个版本 20260804 是以 pgsty/minio 名义交付的最后一版;本版本完成了向 github.com/pgsty/silo 的切换,重命名了每一个交付表面——二进制、软件包、容器镜像、systemd 服务、Helm chart——同时刻意原样保留了 …
版本: RELEASE.2026-08-06T00-00-00Z · 提交: 3be10fcc1a44f6620ded0bd303461f9d688cca23 SILO 20260806 是 首个以 Silo 之名发布的版本。上一个版本 20260804 是以 pgsty/minio 名义交付的最后一版;本版本完成了向 github.com/pgsty/silo 的切换,重命名了每一个交付表面——二进制、软件包、容器镜像、systemd 服务、Helm chart——同时刻意原样保留了 …
-
Silo 20260804 发布
版本: RELEASE.2026-08-04T00-00-00Z · 提交: d88f46ccee345a9c2fabe2d221d9a9e56bc11aec SILO 20260804 是 pgsty/minio 社区分支的一次安全、正确性与发布工程更新。该版本完成 CVE-2026-42600 所开启的节点间存储边界治理,阻止客户端输入冒充服务端计算出的 S3/IAM 策略条件值,恢复流式响应 flush 语义,修复多项 multipart 与版本控制边界问题,加固通知配置迁移,将构建基线升 …
版本: RELEASE.2026-08-04T00-00-00Z · 提交: d88f46ccee345a9c2fabe2d221d9a9e56bc11aec SILO 20260804 是 pgsty/minio 社区分支的一次安全、正确性与发布工程更新。该版本完成 CVE-2026-42600 所开启的节点间存储边界治理,阻止客户端输入冒充服务端计算出的 S3/IAM 策略条件值,恢复流式响应 flush 语义,修复多项 multipart 与版本控制边界问题,加固通知配置迁移,将构建基线升 …
-
SN-2026-019:通知子系统配置键注册缺失与校验报错脱敏
SN-2026-019 涵盖了 Server 20260804(提交 162ded343 与 672c07a0f,pgsty/silo#39)修复的一类通知子系统配置缺陷:通知解析器与旧版配置迁移代码读写了未在 Default*KVS 中注册的配置键,CheckValidKeys 在校验失败时将包含敏感凭据的原始 key=value 拼入错误消息,且 FetchEnabledTargets 在遇到首个校验错误时会直接中止全部通知目标的加载。随后在 Server …
SN-2026-019 涵盖了 Server 20260804(提交 162ded343 与 672c07a0f,pgsty/silo#39)修复的一类通知子系统配置缺陷:通知解析器与旧版配置迁移代码读写了未在 Default*KVS 中注册的配置键,CheckValidKeys 在校验失败时将包含敏感凭据的原始 key=value 拼入错误消息,且 FetchEnabledTargets 在遇到首个校验错误时会直接中止全部通知目标的加载。随后在 Server …
-
SN-2026-018:客户端源地址信任边界、转发头欺骗与 aws:SourceIp 加固
SN-2026-018 修复了 silo-pkg v3.12.0(提交 62f326d)与 Server 20260804(00a8171cb,pgsty/silo#41)中影响 aws:SourceIp IAM 条件求值、审计日志、桶事件通知及管理端 HTTP 追踪的客户端源 IP 欺骗问题:handlers.GetSourceIP 此前默认无条件信任任意 TCP 对端发来的 X-Forwarded-For、X-Real-IP 与 RFC 7239 Forwarded 请求头;即便管理员显式设 …
SN-2026-018 修复了 silo-pkg v3.12.0(提交 62f326d)与 Server 20260804(00a8171cb,pgsty/silo#41)中影响 aws:SourceIp IAM 条件求值、审计日志、桶事件通知及管理端 HTTP 追踪的客户端源 IP 欺骗问题:handlers.GetSourceIP 此前默认无条件信任任意 TCP 对端发来的 X-Forwarded-For、X-Real-IP 与 RFC 7239 Forwarded 请求头;即便管理员显式设 …
-
SN-2026-004:对象级策略授权越界命中桶级变更操作
SN-2026-004 修复了 silo-pkg v3.11.0(提交 3c24ad1、1f97549、d8b1fa7)与 Server 20260804(97b7d2804;上游参考 minio/minio#20449)中的一处 IAM 资源匹配缺陷:在评估桶级 S3 请求(args.ObjectName == "")时,Statement.IsAllowed 会固定在桶名末尾拼接 '/' 生成 "bucket/" 作为待匹配资源字符串,导致原本仅面向桶内对象的通配授权(如 Allow …
SN-2026-004 修复了 silo-pkg v3.11.0(提交 3c24ad1、1f97549、d8b1fa7)与 Server 20260804(97b7d2804;上游参考 minio/minio#20449)中的一处 IAM 资源匹配缺陷:在评估桶级 S3 请求(args.ObjectName == "")时,Statement.IsAllowed 会固定在桶名末尾拼接 '/' 生成 "bucket/" 作为待匹配资源字符串,导致原本仅面向桶内对象的通配授权(如 Allow …
-
SN-2026-003:s3:versionid 条件求值缺陷与请求条件隔离加固
SN-2026-003 与 SN-2026-005 涵盖了随 Server 20260804(提交 80c2c9d03、2f55347f7、eee05a17c 以及 silo-pkg v3.12.0 提交 2b087a1;pgsty/silo#40、pgsty/silo#53)发布的一组 S3 IAM 策略求值加固: SN-2026-003(80c2c9d03):当请求未携带 versionId 时,getConditionValues 依然无条件写入了 …
SN-2026-003 与 SN-2026-005 涵盖了随 Server 20260804(提交 80c2c9d03、2f55347f7、eee05a17c 以及 silo-pkg v3.12.0 提交 2b087a1;pgsty/silo#40、pgsty/silo#53)发布的一组 S3 IAM 策略求值加固: SN-2026-003(80c2c9d03):当请求未携带 versionId 时,getConditionValues 依然无条件写入了 …
-
CompleteMultipartUpload 重复分片号漏洞分析与修复
在 S3 API 的 CompleteMultipartUpload 请求中,协议要求完成清单 XML 中的分片号(PartNumber)必须严格递增。直到 Server 20260725 为止,SILO 一直使用 sort.SliceIsSorted 配合严格小于号 < 来校验这一不变量——但这套写法实际上校验的是“非递减序”,会放行 [1, 1] 这类包含相邻重复分片号的列表,导致同一个底层分片在最终对象中被重复拼接。Server 20260804(pgsty/silo#49)将其替换为显式 …
在 S3 API 的 CompleteMultipartUpload 请求中,协议要求完成清单 XML 中的分片号(PartNumber)必须严格递增。直到 Server 20260725 为止,SILO 一直使用 sort.SliceIsSorted 配合严格小于号 < 来校验这一不变量——但这套写法实际上校验的是“非递减序”,会放行 [1, 1] 这类包含相邻重复分片号的列表,导致同一个底层分片在最终对象中被重复拼接。Server 20260804(pgsty/silo#49)将其替换为显式 …
-
Silo 20260618 发布
发布日期: 2026-06-18 · 版本: RELEASE.2026-06-18T00-00-00Z 这是 pgsty/minio 社区分支的一次例行安全与依赖维护更新。该版本加固 LDAP STS 限流,补齐 S3 Select 超大记录限制,移除废弃的 ReadMultiple 节点间 storage-REST API,将 Go 构建基线升级到 1.26.4,并刷新 Go 模块依赖以吸收第三方安全修复。 说明 说明 已知问题:本版本与自 …
发布日期: 2026-06-18 · 版本: RELEASE.2026-06-18T00-00-00Z 这是 pgsty/minio 社区分支的一次例行安全与依赖维护更新。该版本加固 LDAP STS 限流,补齐 S3 Select 超大记录限制,移除废弃的 ReadMultiple 节点间 storage-REST API,将 Go 构建基线升级到 1.26.4,并刷新 Go 模块依赖以吸收第三方安全修复。 说明 说明 已知问题:本版本与自 …
-
Silo 20260417 发布
发布日期: 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 …
发布日期: 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 …
-
Silo 20260325 发布
发布日期: 2026-03-25 · 版本: RELEASE.2026-03-25T00-00-00Z 本版本重点改进容器镜像打包、修复 ldaps:// 连接的 TLS 配置透传回归,并同步锁定多项第三方依赖的安全更新版本。 主要变更 将 mcli(及兼容别名 mc)内置到 Docker 镜像中并增加二进制校验,开箱即可直接执行管理命令。 修复 ldaps:// 场景下的 LDAP TLS 配置回归,确保自定义 CA 证书与 …
发布日期: 2026-03-25 · 版本: RELEASE.2026-03-25T00-00-00Z 本版本重点改进容器镜像打包、修复 ldaps:// 连接的 TLS 配置透传回归,并同步锁定多项第三方依赖的安全更新版本。 主要变更 将 mcli(及兼容别名 mc)内置到 Docker 镜像中并增加二进制校验,开箱即可直接执行管理命令。 修复 ldaps:// 场景下的 LDAP TLS 配置回归,确保自定义 CA 证书与 …
-
Silo 20260321 发布
发布日期: 2026-03-21 · 版本: RELEASE.2026-03-21T00-00-00Z 这是一次围绕 Go 1.26.1 与依赖收敛展开的维护版。除了适配更严格的编译与 lint 检查外,这个版本也完成了本轮最关键的一次安全依赖刷新。 主要变更 将构建环境从 Go 1.26.0 升级到 Go 1.26.1。 全面刷新直接与间接依赖,收敛新工具链下的兼容性问题。 修正 Go 1.26.1 更严格检查暴露出来的一批 lint 与测试问题。 修复的 CVE …
发布日期: 2026-03-21 · 版本: RELEASE.2026-03-21T00-00-00Z 这是一次围绕 Go 1.26.1 与依赖收敛展开的维护版。除了适配更严格的编译与 lint 检查外,这个版本也完成了本轮最关键的一次安全依赖刷新。 主要变更 将构建环境从 Go 1.26.0 升级到 Go 1.26.1。 全面刷新直接与间接依赖,收敛新工具链下的兼容性问题。 修正 Go 1.26.1 更严格检查暴露出来的一批 lint 与测试问题。 修复的 CVE …
-
Silo 20260314 发布
发布日期: 2026-03-14 · 版本: RELEASE.2026-03-14T12-00-00Z 这个版本完成了向社区维护 Console 分支的切换,并在切换过程中做了一轮较大幅度的依赖更新,为后续 Go 1.26.x 维护版打下基础。 主要变更 切换到社区维护的 georgmangold/console v1.9.1,替换不可持续维护的上游 Console 依赖。 大幅更新 go.mod 中的直接与间接依赖,使 Console 与新工具链组合能够稳定构建。 修复 …
发布日期: 2026-03-14 · 版本: RELEASE.2026-03-14T12-00-00Z 这个版本完成了向社区维护 Console 分支的切换,并在切换过程中做了一轮较大幅度的依赖更新,为后续 Go 1.26.x 维护版打下基础。 主要变更 切换到社区维护的 georgmangold/console v1.9.1,替换不可持续维护的上游 Console 依赖。 大幅更新 go.mod 中的直接与间接依赖,使 Console 与新工具链组合能够稳定构建。 修复 …
-
Silo 20260214 发布
发布日期: 2026-02-14 · 版本: RELEASE.2026-02-14T12-00-00Z 这是社区分支早期的一个基础设施版本,除了恢复内嵌 Console 与建立 GitHub CI/CD 之外,也把 Go 运行时基线提升到 1.26.0,因此一并消化了上一代工具链中的一批安全问题。 主要变更 恢复内嵌 Console,并更新 README 以明确社区维护分支的定位。 新增 GitHub CI/CD 流水线,为后续自动构建和多平台分发建立基础。 补充文档、Docker、GitHub …
发布日期: 2026-02-14 · 版本: RELEASE.2026-02-14T12-00-00Z 这是社区分支早期的一个基础设施版本,除了恢复内嵌 Console 与建立 GitHub CI/CD 之外,也把 Go 运行时基线提升到 1.26.0,因此一并消化了上一代工具链中的一批安全问题。 主要变更 恢复内嵌 Console,并更新 README 以明确社区维护分支的定位。 新增 GitHub CI/CD 流水线,为后续自动构建和多平台分发建立基础。 补充文档、Docker、GitHub …
-
Silo 20251203 发布
发布日期: 2025-12-15 · 版本: RELEASE.2025-12-03T12-00-00Z 这是目前可追溯到的首个社区版发布,确立了社区维护分支的打包与分发基线。 主要变更 基于 minio/pkger 建立社区版打包流程。 选择 MinIO 进入 maintenance mode 后的一版上游基线作为社区分支起点。 首次产出 apk、deb、rpm 等多种平台包,为后续持续发布建立基础。 修复的 CVE 首个社区版发布基线,无相对前序社区版本的增量 CVE 列表。 关联提交 …
发布日期: 2025-12-15 · 版本: RELEASE.2025-12-03T12-00-00Z 这是目前可追溯到的首个社区版发布,确立了社区维护分支的打包与分发基线。 主要变更 基于 minio/pkger 建立社区版打包流程。 选择 MinIO 进入 maintenance mode 后的一版上游基线作为社区分支起点。 首次产出 apk、deb、rpm 等多种平台包,为后续持续发布建立基础。 修复的 CVE 首个社区版发布基线,无相对前序社区版本的增量 CVE 列表。 关联提交 …