PGSTY SILO 博客
-
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 …
-
续命 MinIO:承诺兑现
两个月前,我在《MinIO 已死,MinIO 复生》里立了一个 flag,承接上游的烂摊子,跟 CVE、修 Bug。 那篇文章上了几个小时的 Hacker News 头条。鼓励不少,质疑也不少:一个人,真维护得了这种项目吗? 这个问题其实问得很好。因为真正见真章的时刻,不是点 fork 按钮,也不是改 README 文档,而是当安全漏洞真砸下来的时候。 现在,这件事可以交账了。 4 月 15 日到 17 日,三天时间,pgsty/minio 发布了 RELEASE.2026-04-17,连续修掉 …
两个月前,我在《MinIO 已死,MinIO 复生》里立了一个 flag,承接上游的烂摊子,跟 CVE、修 Bug。 那篇文章上了几个小时的 Hacker News 头条。鼓励不少,质疑也不少:一个人,真维护得了这种项目吗? 这个问题其实问得很好。因为真正见真章的时刻,不是点 fork 按钮,也不是改 README 文档,而是当安全漏洞真砸下来的时候。 现在,这件事可以交账了。 4 月 15 日到 17 日,三天时间,pgsty/minio 发布了 RELEASE.2026-04-17,连续修掉 …
-
CVE-2026-41145:Unsigned-Trailer 查询认证绕过
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 修复提交: f444b6f37 GitHub Advisory: GHSA-hv4r-mvr4-25vw 在 f444b6f37 之前,查询字符串(query-string)形式的 SigV4 凭据可以进入 STREAMING-UNSIGNED-PAYLOAD-TRAILER 上传流,但旧处理器仅在存在 HTTP Authorization 请求头时才执行签名验证。因此,攻击者只要知道一个有效的 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 修复提交: f444b6f37 GitHub Advisory: GHSA-hv4r-mvr4-25vw 在 f444b6f37 之前,查询字符串(query-string)形式的 SigV4 凭据可以进入 STREAMING-UNSIGNED-PAYLOAD-TRAILER 上传流,但旧处理器仅在存在 HTTP Authorization 请求头时才执行签名验证。因此,攻击者只要知道一个有效的 …
-
CVE-2026-40344:Snowball 自动解包认证绕过
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 修复提交: efb6e5b00 GitHub Advisory: GHSA-9c4q-hq6p-c237 Snowball 自动解包处理器 PutObjectExtractHandler(X-Amz-Meta-Snowball-Auto-Extract: true)此前漏掉了 authTypeStreamingUnsignedTrailer 认证分支。携带伪造签名的 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 修复提交: efb6e5b00 GitHub Advisory: GHSA-9c4q-hq6p-c237 Snowball 自动解包处理器 PutObjectExtractHandler(X-Amz-Meta-Snowball-Auto-Extract: true)此前漏掉了 authTypeStreamingUnsignedTrailer 认证分支。携带伪造签名的 …
-
CVE-2026-39414:S3 Select 超大记录与 SIMD 快路径绕过
状态: 已发布,6 月完成第二轮闭环 初始修复版本: RELEASE.2026-04-17T00-00-00Z 完整修复版本: RELEASE.2026-06-18T00-00-00Z 修复提交: 3252d5b、5dc705936(fd69c89) GitHub Issue: pgsty/silo#25 4 月份的第一轮修复(3252d5b)复用既有的 1 MiB maxCharsPerRecord 常量,同时限制 S3 Select 中的 CSV 与标准 JSON Lines 单条记录长度, …
状态: 已发布,6 月完成第二轮闭环 初始修复版本: RELEASE.2026-04-17T00-00-00Z 完整修复版本: RELEASE.2026-06-18T00-00-00Z 修复提交: 3252d5b、5dc705936(fd69c89) GitHub Issue: pgsty/silo#25 4 月份的第一轮修复(3252d5b)复用既有的 1 MiB maxCharsPerRecord 常量,同时限制 S3 Select 中的 CSV 与标准 JSON Lines 单条记录长度, …
-
CVE-2026-34204:复制元数据注入
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 修复提交: 56fa63b GitHub Issue: pgsty/silo#24 在 56fa63b 之前,普通 PutObject 与 CopyObject 请求可以把客户端传入的 X-Minio-Replication-* 请求头混入内部 X-Minio-Internal-* SSE 与复制元数据,写出复制状态与真实授权路径不符、甚至后续无法读取的对象。 最终修复在默认元数据提取路径中不再接受复制专用 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 修复提交: 56fa63b GitHub Issue: pgsty/silo#24 在 56fa63b 之前,普通 PutObject 与 CopyObject 请求可以把客户端传入的 X-Minio-Replication-* 请求头混入内部 X-Minio-Internal-* SSE 与复制元数据,写出复制状态与真实授权路径不符、甚至后续无法读取的对象。 最终修复在默认元数据提取路径中不再接受复制专用 …
-
CVE-2026-33419:LDAP STS 用户枚举与限流链演进
状态: 已发布,并经历两轮后续修正 首个包含版本: RELEASE.2026-04-17T00-00-00Z 完整修正版本: RELEASE.2026-06-18T00-00-00Z 修复提交: 3b950f8、18b712d、9e10f6d、f441108、5e40665 GitHub Issue: pgsty/silo#23 AssumeRoleWithLDAPIdentity 的初始漏洞非常直观:LDAP STS 对“用户不存在”与“密码错误”返回不同的错误信息,构成了无需认证即可利用的用 …
状态: 已发布,并经历两轮后续修正 首个包含版本: RELEASE.2026-04-17T00-00-00Z 完整修正版本: RELEASE.2026-06-18T00-00-00Z 修复提交: 3b950f8、18b712d、9e10f6d、f441108、5e40665 GitHub Issue: pgsty/silo#23 AssumeRoleWithLDAPIdentity 的初始漏洞非常直观:LDAP STS 对“用户不存在”与“密码错误”返回不同的错误信息,构成了无需认证即可利用的用 …
-
CVE-2026-33322:OIDC JWT 算法混淆
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 影响入口: AssumeRoleWithWebIdentity、AssumeRoleWithClientGrants 修复提交: d24f449 GitHub Issue: pgsty/silo#22 internal/config/identity/openid 的旧实现将 OIDC client_secret 放进了本地 JWT 验签密钥环(keyring),同时允许 HMAC 签名算法 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 影响入口: AssumeRoleWithWebIdentity、AssumeRoleWithClientGrants 修复提交: d24f449 GitHub Issue: pgsty/silo#22 internal/config/identity/openid 的旧实现将 OIDC client_secret 放进了本地 JWT 验签密钥环(keyring),同时允许 HMAC 签名算法 …
-
CVE-2026-32285:最终无需补丁的 jsonparser 通告
状态: 无需代码改动,问题已关闭 GitHub Issue: pgsty/silo#26 关联上游提交: c1a49490(CVE-2025-62506) 对 CVE-2026-32285 的初始排查假设仓库可能仍携带未修复的 github.com/buger/jsonparser,团队甚至一度评估过替换依赖或维护独立分支。但在逐一核对通告引用的上游提交、Go 模块实际解析版本以及符号可达性后,结论完全改变: 外部漏洞库将 CVE-2026-32285 的摘要写成了 jsonparser 漏洞, …
状态: 无需代码改动,问题已关闭 GitHub Issue: pgsty/silo#26 关联上游提交: c1a49490(CVE-2025-62506) 对 CVE-2026-32285 的初始排查假设仓库可能仍携带未修复的 github.com/buger/jsonparser,团队甚至一度评估过替换依赖或维护独立分支。但在逐一核对通告引用的上游提交、Go 模块实际解析版本以及符号可达性后,结论完全改变: 外部漏洞库将 CVE-2026-32285 的摘要写成了 jsonparser 漏洞, …
-
Silo 20260325 发布
发布日期: 2026-03-25 · 版本: RELEASE.2026-03-25T00-00-00Z 这是一个以打包、稳定性与安全公告为主的维护版本,重点是完善交付镜像、修复 LDAP TLS 回归,并把已经锁定到安全版本的依赖明确纳入发布说明。 主要变更 将 mcli/mc 打入 Docker 镜像并增加校验流程,改善镜像开箱体验。 修复 ldaps:// 场景中的 LDAP TLS 回归,确保 TLS 配置能够正确透传。 移除从上游继承但社区分支不再使用的 CI/CD 工作流,减轻维护负担 …
发布日期: 2026-03-25 · 版本: RELEASE.2026-03-25T00-00-00Z 这是一个以打包、稳定性与安全公告为主的维护版本,重点是完善交付镜像、修复 LDAP TLS 回归,并把已经锁定到安全版本的依赖明确纳入发布说明。 主要变更 将 mcli/mc 打入 Docker 镜像并增加校验流程,改善镜像开箱体验。 修复 ldaps:// 场景中的 LDAP TLS 回归,确保 TLS 配置能够正确透传。 移除从上游继承但社区分支不再使用的 CI/CD 工作流,减轻维护负担 …
-
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 …
-
MinIO 已死,MinIO 复生
MinIO 开源仓库正式归档,不再维护。一个时代落幕,但开源的精神不死。 老冯 Fork 了 MinIO,复活了管理控制台,重建了二进制分发渠道,让 MinIO 浴火重生。 如果你正在用 MinIO,把 minio/minio 换成 pgsty/minio ,其他一切照旧。 MinIO 的死亡证明 2025年12月3日,MinIO 在 GitHub 上宣布进入"维护模式"。我写了一篇《MinIO 已死》。 2026年2月12日,MinIO 在 GitHub 首页将状态从"维护模式"更新为 “不再 …
MinIO 开源仓库正式归档,不再维护。一个时代落幕,但开源的精神不死。 老冯 Fork 了 MinIO,复活了管理控制台,重建了二进制分发渠道,让 MinIO 浴火重生。 如果你正在用 MinIO,把 minio/minio 换成 pgsty/minio ,其他一切照旧。 MinIO 的死亡证明 2025年12月3日,MinIO 在 GitHub 上宣布进入"维护模式"。我写了一篇《MinIO 已死》。 2026年2月12日,MinIO 在 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 列表。 关联提交 …
-
MinIO已死,谁能接盘?
前天 MinIO 宣告进入维护模式,老冯写了一篇《MinIO 已死》聊了聊这个话题。 很多朋友也问我,MinIO 既然摆烂躺平了,有谁能接 MinIO 的班? 大方向的话,台面上的替代品无非就那几个:Ceph、RustFS、SeaweedFS、Garage…… 老冯把这些方案都打好了 Linux 上的 RPM/DEB 包,挨个试了一遍。 总结一句话:没有完美替代。 各有各的问题 —— Ceph 功能全但太复杂;SeaweedFS 针对小文件优化但需要独立元数据库;Garage 小巧玲珑但功能简陋 …
前天 MinIO 宣告进入维护模式,老冯写了一篇《MinIO 已死》聊了聊这个话题。 很多朋友也问我,MinIO 既然摆烂躺平了,有谁能接 MinIO 的班? 大方向的话,台面上的替代品无非就那几个:Ceph、RustFS、SeaweedFS、Garage…… 老冯把这些方案都打好了 Linux 上的 RPM/DEB 包,挨个试了一遍。 总结一句话:没有完美替代。 各有各的问题 —— Ceph 功能全但太复杂;SeaweedFS 针对小文件优化但需要独立元数据库;Garage 小巧玲珑但功能简陋 …
-
MinIO已死
2025年12月3日,是个值得在开源软件历史上记一笔的日子。 MinIO 官方在 GitHub 上更新项目状态,宣布 MinIO 开源项目进入“维护模式” 。 这基本上宣告了 MinIO 作为一个开源项目的死亡。 MinIO 这家公司,终于完成了从“屠龙少年”到“恶龙”的华丽转身。 从屠龙勇者到新的恶龙 民主化时代(2014–2019):对象存储的 Apache MinIO 成立于2014年,其创始愿景极具理想主义色彩——做“对象存储领域的 Apache”。在那个 AWS S3 统治云存储的年代 …
2025年12月3日,是个值得在开源软件历史上记一笔的日子。 MinIO 官方在 GitHub 上更新项目状态,宣布 MinIO 开源项目进入“维护模式” 。 这基本上宣告了 MinIO 作为一个开源项目的死亡。 MinIO 这家公司,终于完成了从“屠龙少年”到“恶龙”的华丽转身。 从屠龙勇者到新的恶龙 民主化时代(2014–2019):对象存储的 Apache MinIO 成立于2014年,其创始愿景极具理想主义色彩——做“对象存储领域的 Apache”。在那个 AWS S3 统治云存储的年代 …
-
CVE-2025-62506:Session Policy 权限提升
状态: 已继承并发布 首个 SILO 社区版本: RELEASE.2025-12-03T12-00-00Z 上游首个修复版本: RELEASE.2025-10-15T17-29-55Z GitHub Advisory: GHSA-jjjj-jwhf-8rgr 上游修复: minio/minio#21642 带有受限内联会话策略(Session Policy)的服务账号(Service Account)或 STS 临时凭据,原本可以借助“操作自身账号”的管理 API 例外创建一个不带相同限制的新服 …
状态: 已继承并发布 首个 SILO 社区版本: RELEASE.2025-12-03T12-00-00Z 上游首个修复版本: RELEASE.2025-10-15T17-29-55Z GitHub Advisory: GHSA-jjjj-jwhf-8rgr 上游修复: minio/minio#21642 带有受限内联会话策略(Session Policy)的服务账号(Service Account)或 STS 临时凭据,原本可以借助“操作自身账号”的管理 API 例外创建一个不带相同限制的新服 …