标签: 安全
-
只预览文本,绝不执行:SILO Console 文本预览 PRD
状态: 设计已接受,实现待完成 · 归属: pgsty/silo-console · 跟踪: pgsty/silo#17 · 审阅: 产品、安全与前端架构三方共识 SILO Console 可以预览图片、PDF、音频和视频,却不能直接查看运维中最常见的小型日志、纯文本、JSON 与 XML。即使对象保存了完全正确的 Content-Type,前端也会在选择渲染器之前把它判为不支持。 恢复旧版浏览器原生预览很容易,却不是正确修复。对象内容由上传者控制;如果把它作为同源 HTML/XML 文档加载 …
状态: 设计已接受,实现待完成 · 归属: pgsty/silo-console · 跟踪: pgsty/silo#17 · 审阅: 产品、安全与前端架构三方共识 SILO Console 可以预览图片、PDF、音频和视频,却不能直接查看运维中最常见的小型日志、纯文本、JSON 与 XML。即使对象保存了完全正确的 Content-Type,前端也会在选择渲染器之前把它判为不支持。 恢复旧版浏览器原生预览很容易,却不是正确修复。对象内容由上传者控制;如果把它作为同源 HTML/XML 文档加载 …
-
解析器认识,Schema 不认:足以带走全部通知的配置键
状态: 已在本地 pgsty/minio 分支修复,提交 162ded343,尚未发布 定级: 配置 Schema 一致性与可用性问题,不是漏洞;附带一项防御性加固(验证报错不再回显凭据值) 影响范围: notify_nats 的 JWT/NKey/TLS-handshake-first 选项、notify_amqp 的 immediate,以及任何带着启用状态 NATS 目标从 2020 年前配置迁移上来的部署——它的失败会连带压掉 所有 通知后端 跟踪: pgsty/minio issue …
状态: 已在本地 pgsty/minio 分支修复,提交 162ded343,尚未发布 定级: 配置 Schema 一致性与可用性问题,不是漏洞;附带一项防御性加固(验证报错不再回显凭据值) 影响范围: notify_nats 的 JWT/NKey/TLS-handshake-first 选项、notify_amqp 的 immediate,以及任何带着启用状态 NATS 目标从 2020 年前配置迁移上来的部署——它的失败会连带压掉 所有 通知后端 跟踪: pgsty/minio issue …
-
让客户端源地址真正可信
状态: 已合入 pgsty/minio master,提交 fe6dc4780,尚未发布 定级: 可选加固 + 文档缺陷,不是漏洞,也不是回归;未申请 CVE。底层弱点继承自上游,本次未改变其默认行为 影响范围: aws:SourceIp 策略条件、审计日志 remotehost 字段、S3 事件通知的 Host、mc admin trace 显示的客户端——凡是 S3 API 端口无需经过清洗请求头的代理即可抵达的部署 上游: 无处可报——minio/minio 已归档。上游既有记录:PR …
状态: 已合入 pgsty/minio master,提交 fe6dc4780,尚未发布 定级: 可选加固 + 文档缺陷,不是漏洞,也不是回归;未申请 CVE。底层弱点继承自上游,本次未改变其默认行为 影响范围: aws:SourceIp 策略条件、审计日志 remotehost 字段、S3 事件通知的 Host、mc admin trace 显示的客户端——凡是 S3 API 端口无需经过清洗请求头的代理即可抵达的部署 上游: 无处可报——minio/minio 已归档。上游既有记录:PR …
-
对象授权,越界到桶:当 bucket/* 能改写桶本身
状态: 已在 pgsty/silo-pkg main 修复(3c24ad1,由 1f97549 扩展,并在 v3.11.0 收敛为最终的十二个动作),已发布为 silo-pkg v3.11.0;pgsty/minio 已消费该版本 定级: 访问控制加固——一条被收窄恢复的权限边界 影响范围: 仅被授予对象级(arn:aws:s3:::bucket/*)访问的 IAM 用户/角色/服务账号,且集群被多个租户共用的部署 跟踪: 上游 minio/minio issue #20449(2024 年起公 …
状态: 已在 pgsty/silo-pkg main 修复(3c24ad1,由 1f97549 扩展,并在 v3.11.0 收敛为最终的十二个动作),已发布为 silo-pkg v3.11.0;pgsty/minio 已消费该版本 定级: 访问控制加固——一条被收窄恢复的权限边界 影响范围: 仅被授予对象级(arn:aws:s3:::bucket/*)访问的 IAM 用户/角色/服务账号,且集群被多个租户共用的部署 跟踪: 上游 minio/minio issue #20449(2024 年起公 …
-
缺失不是空:一个空 versionid,和它诱发的 fail-open
状态: 已在本地 pgsty/minio 分支修复,提交 744a9dcd7,尚未发布 定级: 策略执行正确性——一个 fail-closed 的报告、一个被避免的 fail-open 陷阱、以及顺手关掉的一处窄绕过。不是重点 CVE——见我们如何定级 影响范围: 任何在 s3:versionid 上使用 Null 或 StringEquals 的桶/IAM 策略;报告中的失效发生在 DeleteObject/DeleteObjects 跟踪: 上游 minio/minio issue …
状态: 已在本地 pgsty/minio 分支修复,提交 744a9dcd7,尚未发布 定级: 策略执行正确性——一个 fail-closed 的报告、一个被避免的 fail-open 陷阱、以及顺手关掉的一处窄绕过。不是重点 CVE——见我们如何定级 影响范围: 任何在 s3:versionid 上使用 Null 或 StringEquals 的桶/IAM 策略;报告中的失效发生在 DeleteObject/DeleteObjects 跟踪: 上游 minio/minio issue …
-
有序不等于递增:一个重复 Part 如何把对象变成两倍
状态: 已在本地 pgsty/minio 分支修复,提交 22c1e41fd,尚未发布 定级: 数据正确性问题,不是漏洞——见为什么这不是 CVE 影响范围: 所有后端;任何已认证的 S3 客户端,作用于它自己的上传 跟踪: pgsty/minio issue #49 本文有一节描述了相邻代码路径中一个尚未修复的进程级 panic。请在该问题修复并发布之后再上线。 结论先行 sort.SliceIsSorted 配 < 比较符 并不检查严格递增,它检查的是 有没有逆序对。相邻相等不构成逆序,于是 …
状态: 已在本地 pgsty/minio 分支修复,提交 22c1e41fd,尚未发布 定级: 数据正确性问题,不是漏洞——见为什么这不是 CVE 影响范围: 所有后端;任何已认证的 S3 客户端,作用于它自己的上传 跟踪: pgsty/minio issue #49 本文有一节描述了相邻代码路径中一个尚未修复的进程级 panic。请在该问题修复并发布之后再上线。 结论先行 sort.SliceIsSorted 配 < 比较符 并不检查严格递增,它检查的是 有没有逆序对。相邻相等不构成逆序,于是 …
-
内部节点路径 containment 审计:补完 CVE-2026-42600 欠下的那笔账
状态: 已在本地 pgsty/minio 分支修复,尚未发布、尚未披露(未申请 CVE/GHSA,上游仓库已归档) 影响范围: 仅 distributed erasure;需要 cluster-root / internode JWT 前置阅读: CVE-2026-42600 · ReadMultiple 本文包含完整利用向量与实测数据。发布即构成披露,请在修复版本发出后再上线。 上一篇的结尾写着一句话: 删除 endpoint 只证明 ReadMultiple 不再存在,不能外推成所有内部节点 …
状态: 已在本地 pgsty/minio 分支修复,尚未发布、尚未披露(未申请 CVE/GHSA,上游仓库已归档) 影响范围: 仅 distributed erasure;需要 cluster-root / internode JWT 前置阅读: CVE-2026-42600 · ReadMultiple 本文包含完整利用向量与实测数据。发布即构成披露,请在修复版本发出后再上线。 上一篇的结尾写着一句话: 删除 endpoint 只证明 ReadMultiple 不再存在,不能外推成所有内部节点 …
-
CVE-2026-42600:ReadMultiple Storage-REST 路径穿越
状态: 已发布 首个包含版本: RELEASE.2026-06-18T00-00-00Z GitHub Advisory: GHSA-xh8f-g2qw-gcm7 影响范围: 仅 distributed erasure;需要 cluster-root / internode JWT /rmpl 的 msgpack body 中包含 Bucket、Prefix 与 Files,旧代码直接把它们拼成文件系统路径,没有 containment。最初的修复实现了完整 preflight …
状态: 已发布 首个包含版本: RELEASE.2026-06-18T00-00-00Z GitHub Advisory: GHSA-xh8f-g2qw-gcm7 影响范围: 仅 distributed erasure;需要 cluster-root / internode JWT /rmpl 的 msgpack body 中包含 Bucket、Prefix 与 Files,旧代码直接把它们拼成文件系统路径,没有 containment。最初的修复实现了完整 preflight …
-
CVE-2026-41145:Unsigned-Trailer 查询认证绕过
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z GitHub Advisory: GHSA-hv4r-mvr4-25vw query-string SigV4 credential 可以进入 STREAMING-UNSIGNED-PAYLOAD-TRAILER 数据流,但旧代码只在存在 Authorization header 时验证签名。结果是:请求只要提供有效 access key 标识,即使没有正确 signature,也可能完成写入。 最终修复把 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z GitHub Advisory: GHSA-hv4r-mvr4-25vw query-string SigV4 credential 可以进入 STREAMING-UNSIGNED-PAYLOAD-TRAILER 数据流,但旧代码只在存在 Authorization header 时验证签名。结果是:请求只要提供有效 access key 标识,即使没有正确 signature,也可能完成写入。 最终修复把 …
-
CVE-2026-40344:Snowball 自动解包认证绕过
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z GitHub Advisory: GHSA-9c4q-hq6p-c237 Snowball PutObjectExtractHandler 漏掉了 streaming unsigned-trailer auth case。伪造 signature 的 tar stream 可以在认证完成前进入 untar(),而一次请求又能扇出为多个对象写入。最终修复在任何 tar 字节进入解包器之前,初始化正确 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z GitHub Advisory: GHSA-9c4q-hq6p-c237 Snowball PutObjectExtractHandler 漏掉了 streaming unsigned-trailer auth case。伪造 signature 的 tar stream 可以在认证完成前进入 untar(),而一次请求又能扇出为多个对象写入。最终修复在任何 tar 字节进入解包器之前,初始化正确 …
-
CVE-2026-39414:S3 Select 超大记录与 SIMD 绕过
状态: 已发布,六月完成二次闭环 初始修复版本: RELEASE.2026-04-17T00-00-00Z 完整修复版本: RELEASE.2026-06-18T00-00-00Z GitHub Issue: pgsty/minio#25 四月的第一轮修复使用既有的 1 MiB maxCharsPerRecord 同时限制 CSV 与普通 JSON Lines,避免在遇到分隔符前持续无界 buffering,并让客户端得到明确的 OverMaxRecordSize。六月复核却发现,支持 SIMD …
状态: 已发布,六月完成二次闭环 初始修复版本: RELEASE.2026-04-17T00-00-00Z 完整修复版本: RELEASE.2026-06-18T00-00-00Z GitHub Issue: pgsty/minio#25 四月的第一轮修复使用既有的 1 MiB maxCharsPerRecord 同时限制 CSV 与普通 JSON Lines,避免在遇到分隔符前持续无界 buffering,并让客户端得到明确的 OverMaxRecordSize。六月复核却发现,支持 SIMD …
-
CVE-2026-34204:复制元数据注入
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z GitHub Issue: pgsty/minio#24 普通 PUT 与 COPY 请求可以把 X-Minio-Replication-* header 伪装进内部 X-Minio-Internal-* SSE metadata,写出 replication state 与真实授权路径不一致、甚至无法读取的对象。最终修复不再默认接受 replication-only metadata,只在通过 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z GitHub Issue: pgsty/minio#24 普通 PUT 与 COPY 请求可以把 X-Minio-Replication-* header 伪装进内部 X-Minio-Internal-* SSE metadata,写出 replication state 与真实授权路径不一致、甚至无法读取的对象。最终修复不再默认接受 replication-only metadata,只在通过 …
-
CVE-2026-33419:LDAP STS 用户枚举与限流链
状态: 已发布,经历两轮后续修正 首个包含版本: RELEASE.2026-04-17T00-00-00Z 完整修正版本: RELEASE.2026-06-18T00-00-00Z GitHub Issue: pgsty/minio#23 核心漏洞很直接:LDAP STS 对“用户不存在”和“密码错误”返回不同结果,形成 username oracle。第一版修复统一外部错误,并增加 source IP 与 username 双重限流;连续复核却发现,成功退款、可伪造来源 …
状态: 已发布,经历两轮后续修正 首个包含版本: RELEASE.2026-04-17T00-00-00Z 完整修正版本: RELEASE.2026-06-18T00-00-00Z GitHub Issue: pgsty/minio#23 核心漏洞很直接:LDAP STS 对“用户不存在”和“密码错误”返回不同结果,形成 username oracle。第一版修复统一外部错误,并增加 source IP 与 username 双重限流;连续复核却发现,成功退款、可伪造来源 …
-
CVE-2026-33322:OIDC JWT 算法混淆
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 影响入口: AssumeRoleWithWebIdentity、AssumeRoleWithClientGrants GitHub Issue: pgsty/minio#22 旧实现把 OIDC client secret 放进 JWT verifier keyring,同时允许 HMAC signing method。知道 client secret 的攻击者因此可以自行签发 HS token,再通过 …
状态: 已发布 首个包含版本: RELEASE.2026-04-17T00-00-00Z 影响入口: AssumeRoleWithWebIdentity、AssumeRoleWithClientGrants GitHub Issue: pgsty/minio#22 旧实现把 OIDC client secret 放进 JWT verifier keyring,同时允许 HMAC signing method。知道 client secret 的攻击者因此可以自行签发 HS token,再通过 …
-
CVE-2026-32285:最终无需补丁的 jsonparser 通告
状态: 无需代码改动,问题已关闭 GitHub Issue: pgsty/minio#26 安全维护不只有“发现漏洞,然后提交补丁”。CVE-2026-32285 的初始判断是:仓库可能仍携带未修复的 jsonparser,甚至一度讨论过替换依赖或维护自己的分支。真正检查 module version 与可达性后,结论却是当前代码已经使用包含修复的 v1.1.2,govulncheck 也没有发现可达的 vulnerable symbol。 最终正确的动作不是制造一个依赖升级,而是把证据记录下来 …
状态: 无需代码改动,问题已关闭 GitHub Issue: pgsty/minio#26 安全维护不只有“发现漏洞,然后提交补丁”。CVE-2026-32285 的初始判断是:仓库可能仍携带未修复的 jsonparser,甚至一度讨论过替换依赖或维护自己的分支。真正检查 module version 与可达性后,结论却是当前代码已经使用包含修复的 v1.1.2,govulncheck 也没有发现可达的 vulnerable symbol。 最终正确的动作不是制造一个依赖升级,而是把证据记录下来 …