This is the multi-page printable view of this section. .
About PGSTY Silo
- 1: The PGSTY SILO Manifesto
- 2: License
- 3: Trademark Notice
- 4: Attribution
- 5: Contributors
- 6: Security Policy
- 7: Security Advisories
Silo is a community fork of MinIO, published and maintained by Pigsty. This section collects the terms the project publishes about itself: the Manifesto with the project’s public commitments, what license the code and the documentation are under, how the MinIO name is used, whom this documentation is attributed to, and how to report a security issue.
Silo is not affiliated with, endorsed by, or sponsored by MinIO, Inc. MinIO® is a registered trademark of MinIO, Inc.; see the Trademark Notice.
Meet the community contributors behind SILO, Console, mcli, shared packages, and this documentation. Issue reports and unmerged pull requests are recognized alongside merged work and security disclosures.
1 - The PGSTY SILO Manifesto
PGSTY SILO keeps an open-source, feature-complete, S3-compatible object store maintained and installable, with a build and release chain anyone can inspect. That is the whole scope.
This page is the project’s public commitment, and it follows one rule: every article below is either something we already do, with public evidence, or something we explicitly refuse to promise. A promise we could not keep would be worse than no promise.
Article 1 · Reason to exist, and an exit clause
This project started when upstream wound down its community edition: the web console was cut back to a stub, prebuilt community binaries stopped, and the community repository was archived. Silo keeps existing MinIO-compatible deployments running. Pigsty runs it in production as its PostgreSQL backup storage, so our own operations depend on the artifacts we publish.
The fork is a means, not an identity. If upstream restores its community edition, we will narrow our scope and offer our fixes back.
Background:
- MinIO is Dead (2025-12) — what upstream removed, and when.
- MinIO Is Dead. Which Next? (2025-12) — the alternatives, evaluated.
- MinIO Is Dead, Long Live MinIO (2026-02) — the fork, announced.
- MinIO Fork, Promise Kept (2026-04) — the first months of receipts.
Article 2 · The compatibility contract
The product and its trademark are renamed; the protocol and your data are not.
- The S3 API,
MINIO_*environment variables,minio_*metrics,x-minio-*headers,/minio/*routes, and the on-disk format (including.minio.sys) are preserved, and held in place by a CI compatibility check. - Every release documents its tested rollback target and path in the release notes.
- New capabilities do not touch the on-disk format. Any exception must be explicitly marked as non-reversible before you can enable it.
- The migration guide, which includes how to leave Silo, and the per-component compatibility audits are public and maintained.
Article 3 · The license cannot change
Silo is AGPLv3. There is no CLA and no copyright aggregation: contributions are accepted only with DCO sign-off, so copyright stays with each contributor. That is not a verbal promise not to relicense. It means nobody here, ourselves included, holds enough copyright to relicense the project on everyone else’s behalf.
Our reading of the AGPL boundary is a position, not legal advice: using Silo through its S3 API does not make your application a derivative work. We will not use the license as a threat or a sales instrument.
Article 4 · Change discipline
Changes relative to the upstream baseline fall into four classes only: security fixes, defect fixes, restored community features, and optional additions. Existing API semantics change only when a security fix demands it, and every such compatibility cost is recorded in the advisory that caused it. Every divergence from upstream is listed in the code-verified compatibility audit.
Article 5 · The never list
Silo will never:
- move an existing feature behind a paywall;
- put a registration or login wall in front of downloads;
- ship telemetry — the upstream phone-home paths (update checks, SUBNET, call-home) are removed outright, not merely disabled;
- require a CLA;
- change the license;
- use trademarks against normal use or descriptive mention.
This list is append-only: entries may be added, never removed.
Article 6 · Security discipline
- Vulnerabilities are reported through a private channel and triaged reproducibly. Writeups are held until the fixed release ships.
- Every security fix ships with a public advisory, including its evidence and its compatibility cost.
- Dependencies are tracked for CVEs, with reachability analysis before any change.
- Every release ships SHA-256 checksums, SPDX SBOMs, Sigstore-signed manifests, and GitHub build provenance.
Severe, remotely exploitable issues are expedited on a best-effort basis, but we do not commit to a specific fix-time SLA.
Article 7 · Release cadence
Releases ship typically every one to two months, and at most a quarter apart. Security and defect fixes are batched into these releases. The history is public; judge the promise against it.
Version tags keep the RELEASE.YYYY-MM-DDTHH-MM-SSZ format, and each release documents its upstream baseline.
Deprecations get at least six months’ notice and a migration path. The exception is a removal that security requires immediately; the removal and its justification are then published in the security advisories.
Article 8 · Upstream relations
We renamed the project out of respect for upstream’s trademarks. Upstream copyright, license, and third-party notices are preserved in full: attribution and trademark. If upstream resumes accepting contributions, applicable fixes will be offered back as appropriate.
Article 9 · Continuity
- The repositories live under the pgsty organization, not a personal account.
- The build is documented and provenance-attested: anyone can rebuild equivalent artifacts from source without us.
- If active maintenance stops for six months, we will say so publicly and archive the project rather than let it go quiet. Released artifacts and documentation stay up as long as we can keep them up.
- If an established open-source organization (a CNCF-style foundation, say) wanted to bring Silo under more formal governance, we would cooperate.
Article 10 · The commercial boundary
Everything in the Silo repositories is complete and free of charge: the server, the client, the console, and the released artifacts. That does not change.
Article 11 · Amendment discipline
Additions and strengthenings of this manifesto take effect immediately. Weakening or removing any article requires ninety days’ public notice. Article 5 is append-only, always.
Where to check:
- Security advisories: every CVE investigated and fixed, one article per incident.
- Release notes: every release, with its baseline, rollback target, and acceptance record.
- Compatibility audits: where Silo matches MinIO, and where it deliberately differs.
2 - License
Silo carries two separate licenses. The software and the documentation are distributed under different terms, and each inherits the license its upstream work already used.
| What | License | Where |
|---|---|---|
silo server |
AGPL-3.0-or-later | pgsty/silo |
| SILO Console | AGPL-3.0-or-later | pgsty/silo-console |
mcli client |
AGPL-3.0-or-later | pgsty/mc |
| SILO Shared Packages | AGPL-3.0-or-later | pgsty/silo-pkg |
| This documentation | CC BY 4.0 | pgsty/silo.pgsty.com |
Software: AGPLv3
PGSTY SILO is a fork of MinIO, which has been distributed under the GNU Affero General Public License v3.0 since 2021. That license is irrevocable for code already released under it — the legal basis on which this fork exists. PGSTY SILO keeps the same license: no relicensing, no added restrictions, no open-core carve-outs.
In practice, AGPLv3 lets you run, study, modify, and redistribute PGSTY SILO; if you offer a modified PGSTY SILO to users over a network, you must offer those users the corresponding source of your modified version.
Read the full license text before acting on any summary, including this one.
Contributions to PGSTY SILO
Code contributions to all four maintained software repositories use AGPL-3.0-or-later, the same license as each repository. Contributors retain copyright in their original work. SILO requires no CLA, copyright assignment, or separate Apache-2.0 license grant to its maintainers or to upstream MinIO.
Submit changes to the PGSTY repository that owns them and sign commits with
git commit -s to certify the Developer Certificate of Origin 1.1.
See the contribution guides for the server,
Console,
mcli, and
shared packages.
Contributions to this documentation follow CC BY 4.0. Existing copyright, license, and attribution notices remain in place, including the original terms of separately licensed third-party material.
Documentation: CC BY 4.0
Everything published on this site is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0) — the same license the upstream MinIO documentation used. The full legal text is reproduced verbatim in the documentation repository.
You are free to share and adapt this documentation, including commercially, provided you give appropriate credit, link to the license, and indicate whether changes were made. You may not impose legal or technological measures that restrict others from doing anything the license permits.
Attribution is the only substantive obligation; Attribution gives you a ready-to-copy credit line along with the full copyright stack.
What the license does not cover
A license grants rights in copyright. It says nothing about names. Permission to use the MinIO codebase and documentation is not permission to use the MinIO trademark — see the Trademark Notice.
Disclaimer
Both licenses provide the work as-is, without warranties or conditions of any kind. See Section 5 of CC BY 4.0 and Sections 15–17 of AGPLv3 for the complete disclaimers of warranty and limitations of liability.
See also
- Attribution — copyright stack, derivation, and how to credit this documentation
- Trademark Notice — how the MinIO name is used here
- Security Policy — how to report a vulnerability
3 - Trademark Notice
Every appearance of the MinIO name in this documentation is descriptive use, and implies no commercial relationship.
PGSTY SILO is a fork maintained independently by the PIGSTY community. It is not affiliated with, endorsed by, or sponsored by MinIO, Inc.
What the project does to avoid confusion
- The fork is published under its own name, PGSTY SILO, not under MinIO’s.
- Every page of this site carries a trademark disclaimer in the footer.
- It is labeled a community fork across every distribution channel — repositories, container images, release artifacts, and this documentation.
- No claim of affiliation, endorsement, certification, or commercial relationship with MinIO, Inc. is ever made.
Why the name still appears in this documentation
A license grants rights in copyright; it says nothing about names. AGPLv3 gives anyone the right to fork and redistribute the MinIO codebase, but trademark law is a separate matter that a license does not settle.
The MinIO name appears in this documentation to identify the upstream project this work derives from, and to name the things that still carry the upstream name in practice:
- the upstream project and its history, in attribution and in prose
- the wire protocol, API surface, and S3 compatibility statements
- command names, configuration keys, environment variables, binary names, and error strings — part of the software’s compatibility contract
- content carried over from the MinIO documentation, where renaming would break the correspondence between the text and the software it describes
Other marks
“Pigsty” and “PGSTY” refer to the Pigsty project and its maintainers, who publish PGSTY SILO. Amazon S3 is a trademark of Amazon.com, Inc. or its affiliates; references to S3 describe protocol compatibility only. All other trademarks are the property of their respective owners.
See also
- License — AGPLv3 for the software, CC BY 4.0 for this documentation
- Attribution — copyright stack and derivation of this documentation
4 - Attribution
Copyright
Copyright © 2020–Present MinIO, Inc. Original MinIO Object Storage Documentation.
Copyright © 2026–Present PIGSTY & SILO Contributors Fork maintenance, format conversion, modifications, restored and newly written content, and Simplified Chinese translation.
Both layers apply at once. A translated or modified page carries MinIO’s copyright in the underlying expression and the PGSTY SILO project’s copyright in the translation and the changes; neither replaces the other.
License
All documentation content on this site is licensed under the Creative Commons Attribution 4.0 International License (CC BY 4.0) — the same license as the upstream work. The full legal text is in LICENSE. The PGSTY SILO software itself is licensed separately; see License.
Derivation
Portions of this documentation are derived from the MinIO Object Storage Documentation. The work has been modified from the original: rebranding to PGSTY SILO, restoration of documentation for features removed upstream, conversion of the frozen RST/MyST source to bilingual Markdown, replacement of the Sphinx presentation layer with Hugo and Docsy, link and build fixes, ongoing maintenance, and translation into Chinese. The commit history is the complete record of changes.
Not every page is derived from MinIO. The blog, download and release pages, this section, and PGSTY SILO-specific content are original works of the PGSTY SILO project. Pages that do carry upstream material say so in a notice at the bottom of the page, and pages that PGSTY SILO has changed beyond the format conversion link to their own change history.
Translation
Chinese translations are unofficial and are maintained by the PGSTY SILO project, not by MinIO, Inc. Where a translation and the original English text differ, the English text is authoritative.
How to attribute
If you reuse content from this site, the following credit line satisfies CC BY 4.0:
For Chinese-language contexts:
Disclaimer
Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. See Section 5 of the license for the complete disclaimer of warranties and limitation of liability.
See also
- License — AGPLv3 for the software, CC BY 4.0 for this documentation
- Trademark Notice — how the MinIO name is used here
5 - Contributors
As of 2026-09-16, 50 community contributors are credited in SILO and related projects. The roll includes maintainers and every human issue / PR author, plus the previously acknowledged security disclosure.
Opening an issue or PR counts, whether open, closed, draft, or unmerged. Each account appears once. Merged PR authors come first, followed by other PR authors and reporters. Within each group, significant fixes, adopted proposals, and reports that led to fixes take priority, followed by first participation. Gold rings highlight significant contributions.
When a proposal was incorporated through a later repair, its adoption is credited separately from the original PR status. A closed issue does not necessarily mean a fix, and merged source does not imply a published release. Automated accounts are excluded. Upstream authorship remains in Git history and copyright notices.
Merged pull requests
| Contributor | Contribution | Record |
|---|---|---|
| @Vonng | Maintains SILO, Console, mcli, shared packages, releases, and documentation | pgsty/silo: Merged PRs (77) PRs closed without merging: pgsty/silo#155, pgsty/silo#195 pgsty/silo: Closed issues (60) Open issues: pgsty/silo#199, pgsty/silo#200, pgsty/silo#201, pgsty/silo#202, pgsty/silo#203 pgsty/silo-console: Merged PRs (22) pgsty/silo-console: Closed issues (32) Open issues: pgsty/silo-console#32, pgsty/silo-console#34 pgsty/mc: Merged PRs (24) pgsty/mc: Closed issues (18) Merged PRs: pgsty/silo-pkg#1, pgsty/silo-pkg#2, pgsty/silo-pkg#3, pgsty/silo-pkg#4, pgsty/silo-pkg#5, pgsty/silo-pkg#6, pgsty/silo-pkg#7, pgsty/silo-pkg#8, pgsty/silo-pkg#9 pgsty/silo.pgsty.com: Merged PRs (24) Open PRs: pgsty/silo.pgsty.com#25 |
| @ZouhairCharef | Patched CVE-2026-34986 in go-jose | Merged PRs: pgsty/silo#18 |
| @mfredenhagen | Patched CVE-2026-39883 in OpenTelemetry | Merged PRs: pgsty/silo#19 |
| @pinginfo | Repaired bucket notification streaming | Merged PRs: pgsty/silo#34 |
| @ycjlin | Fixed missing-bucket ListObjects semantics | Merged PRs: pgsty/silo#37 |
| @waterkip | Repointed documentation links to the SILO portal | Merged PRs: pgsty/silo#41 |
| @Dansyuqri | Added ChecksumType to multipart completion responses | Merged PRs: pgsty/silo#57 |
| @mrjavadseydi | Fixed bucket quota metrics; contributed access-frequency ILM and S3-compatible multipart listing proposals | Merged PRs: pgsty/silo#60, pgsty/silo#132, pgsty/silo#198 The access-frequency feature in #60 was merged and later removed. The multipart-listing contribution in #198 was merged after follow-up durability and cancellation repairs; it remains unreleased. |
| @h5vx | Implemented per-bucket CORS configuration and enforcement | Merged PRs: pgsty/silo#71 |
| @nikitapogromsky | Fixed duplicate logger targets that broke Metrics V3 collection | Merged PRs: pgsty/silo#151 Closed issues: pgsty/silo#150 |
| @Aeirx | Preserved Object Lock legal-hold headers in federated CopyObject | Merged PRs: pgsty/silo#172 |
Other pull-request authors
| Contributor | Contribution | Record |
|---|---|---|
| @magicxor | Reported and proposed conditional DELETE support for If-Match | PRs closed without merging: pgsty/silo#12 Closed issues: pgsty/silo#10 The original PR closed after conditional DELETE support landed in #145. |
| @davinkevin | Proposed the distroless container image and dependency automation | PRs closed without merging: pgsty/silo#21 Open issues: pgsty/silo#20 The distroless proposal was superseded by the image shipped in RELEASE.2026-08-06. |
| @metaneutrons | Reported and proposed explicit-version delete authorization | PRs closed without merging: pgsty/silo#59 Closed issues: pgsty/silo#58 The original PR was superseded; its authorization action split informed #104. |
| @mikemikimike | Contributed the replicated SSE-C plaintext part-size fix | PRs closed without merging: pgsty/silo#125 The original PR was superseded; its plaintext-size fix was incorporated through #124, with attribute handling in #128. |
| @julienlau | Reported MRF queue and delete-marker retry defects; contributed repair proposals, tests, and documentation | PRs closed without merging: pgsty/silo#184 Closed issues: pgsty/silo#152, pgsty/silo#153 The original PR was not merged directly. Its purge-state and recovery analysis, proposed fix, tests, and documentation helped shape #196; see the maintainer acknowledgement. |
| @chodorenko | Reported and contributed the fix for aws-chunked leaking into replica metadata | PRs closed without merging: pgsty/silo#187 Closed issues: pgsty/silo#185 The implementation was incorporated in #194, with co-author credit; the original PR was closed as superseded. |
| @sulin37392 | Proposed dependency updates | PRs closed without merging: pgsty/silo#8 |
| @lem21h | Proposed robustness and goroutine improvements | PRs closed without merging: pgsty/silo#36 |
Issue reports
| Contributor | Contribution | Record |
|---|---|---|
| @vampywiz17 | Reported LDAP TLS and Console login regressions | Closed issues: pgsty/silo#15, pgsty/silo#108 |
| @cbornet | Reported multipart and streaming checksum defects and missing-bucket semantics | Closed issues: pgsty/silo#31, pgsty/silo#32, pgsty/silo#107 |
| @orenyomtov | Reported the unsigned-header CopyObject cross-object read (SN-2026-011) | Security disclosure credited in SN-2026-011, with the source fix in #173. This credit is retained separately from public issue/PR authorship. |
| @jiri-pejchal | Reported the RabbitMQ client vulnerability and the Console share proxy’s exposure of internal metrics | Closed issues: pgsty/silo#176 Closed issues: pgsty/silo-console#52 |
| @AEGEGE | Reported the slow-HTTP denial-of-service vulnerability | Closed issues: pgsty/silo#183 The reproduced slow-header defect was fixed on main through #196. |
| @mosesdd | Requested a maintained Helm chart | Closed issues: pgsty/silo#1 |
| @Xavier-777 | Reported Console lifecycle management and file preview gaps | Closed issues: pgsty/silo#2, pgsty/silo#17 |
| @jiadzh | Requested Windows build guidance | Closed issues: pgsty/silo#3 |
| @AntonOfTheWoods | Asked for clarity on Helm chart and operator options | Closed issues: pgsty/silo#5 |
| @TLINDEN | Reported the missing client in release tarballs | Closed issues: pgsty/silo#4 |
| @zylpsrs | Reported missing Console tiering and site replication | Closed issues: pgsty/silo#6 |
| @nsanitate | Proposed CNCF Sandbox governance | Closed issues: pgsty/silo#7 |
| @makinikm | Reported the missing client in the container image | Closed issues: pgsty/silo#9 |
| @spaceg00se-r | Requested cpuv1 support and reported a workflow token failure | Closed issues: pgsty/silo#11, pgsty/silo#14 |
| @heroes1412 | Reported the unusable profiling option | Closed issues: pgsty/silo#13 |
| @chalukyaj | Proposed making the SILO Operator easier to discover | Open issues: pgsty/silo#30 |
| @jvasile | Reported missing user, group, and defaults in Debian packages | Closed issues: pgsty/silo#33 |
| @Kesavaambati | Asked about community support and image maintenance | Closed issues: pgsty/silo#35 |
| @redfoxfox | Reported Chinese documentation availability | Closed issues: pgsty/silo#38 |
| @kuldeep-link11 | Reported NATS JWT credentials and target reload issues | Closed issues: pgsty/silo#39 Open issues: pgsty/silo#40 |
| @meesudzu | Requested the migration guide from upstream MinIO | Closed issues: pgsty/silo#42 |
| @pmezhuev | Reported missing RPM package signatures | Closed issues: pgsty/silo#43 |
| @kh0mka | Reported inter-node I/O timeouts and OIDC configuration-fetch failures | Closed issues: pgsty/silo#51, pgsty/silo#154 |
| @bagutzu | Requested KES-compatible external KMS and OpenBao support | Open issues: pgsty/silo#61 |
| @liuhaodongliu990-cmyk | Reported indeterminate progress for prefix downloads | Closed issues: pgsty/silo#62 |
| @DestroyLee | Reported the missing documentation navigation | Closed issues: pgsty/silo.pgsty.com#4 |
| @sargarass | Reported ListMultipartUploads prefix and pagination semantics | Open issues: pgsty/silo#79 |
| @mumu-lab | Reported bucket quota metrics reading a deprecated field | Closed issues: pgsty/silo#106 |
| @haiming236 | Proposed a built-in image processing pipeline | Open issues: pgsty/silo#160 |
| @tiredenzo | Reported inconsistent documentation for two-drive EC:1 support | Open issues: pgsty/silo#197 |
| @aschyolkin | Reported a data race in CPU metrics collection | Open issues: pgsty/silo#210 |
Audit scope
Counts below come from every page of the GitHub issue / PR records, across all states, including automated accounts. There are 49 distinct human public issue / PR authors, plus 1 credited security reporter. Excluded automated accounts: Copilot, dependabot[bot].
| Repository | Issues | Pull requests |
|---|---|---|
| pgsty/silo | 108 | 99 |
| pgsty/silo-console | 35 | 22 |
| pgsty/mc | 18 | 25 |
| pgsty/silo-pkg | 0 | 9 |
| pgsty/silo-go | 0 | 0 |
| pgsty/kes | 0 | 0 |
| pgsty/silo.pgsty.com | 1 | 26 |
| pgsty/minio-docs | 0 | 0 |
| Total | 162 | 181 |
Maintainer record
@Vonng — complete issue / PR record
Merged PRs: pgsty/silo#44, pgsty/silo#45, pgsty/silo#56, pgsty/silo#66, pgsty/silo#69, pgsty/silo#70, pgsty/silo#72, pgsty/silo#73, pgsty/silo#74, pgsty/silo#80, pgsty/silo#81, pgsty/silo#85, pgsty/silo#86, pgsty/silo#87, pgsty/silo#88, pgsty/silo#89, pgsty/silo#90, pgsty/silo#91, pgsty/silo#92, pgsty/silo#93, pgsty/silo#94, pgsty/silo#95, pgsty/silo#96, pgsty/silo#97, pgsty/silo#98, pgsty/silo#101, pgsty/silo#103, pgsty/silo#104, pgsty/silo#121, pgsty/silo#122, pgsty/silo#123, pgsty/silo#124, pgsty/silo#126, pgsty/silo#127, pgsty/silo#128, pgsty/silo#129, pgsty/silo#130, pgsty/silo#131, pgsty/silo#134, pgsty/silo#135, pgsty/silo#138, pgsty/silo#140, pgsty/silo#142, pgsty/silo#143, pgsty/silo#145, pgsty/silo#146, pgsty/silo#149, pgsty/silo#156, pgsty/silo#157, pgsty/silo#159, pgsty/silo#161, pgsty/silo#162, pgsty/silo#163, pgsty/silo#164, pgsty/silo#173, pgsty/silo#174, pgsty/silo#175, pgsty/silo#177, pgsty/silo#178, pgsty/silo#179, pgsty/silo#180, pgsty/silo#181, pgsty/silo#182, pgsty/silo#188, pgsty/silo#189, pgsty/silo#190, pgsty/silo#191, pgsty/silo#192, pgsty/silo#193, pgsty/silo#194, pgsty/silo#196, pgsty/silo#205, pgsty/silo#206, pgsty/silo#207, pgsty/silo#208, pgsty/silo#209, pgsty/silo#211
PRs closed without merging: pgsty/silo#155, pgsty/silo#195
Closed issues: pgsty/silo#22, pgsty/silo#23, pgsty/silo#24, pgsty/silo#25, pgsty/silo#26, pgsty/silo#27, pgsty/silo#28, pgsty/silo#46, pgsty/silo#47, pgsty/silo#48, pgsty/silo#49, pgsty/silo#50, pgsty/silo#52, pgsty/silo#53, pgsty/silo#55, pgsty/silo#63, pgsty/silo#64, pgsty/silo#65, pgsty/silo#67, pgsty/silo#68, pgsty/silo#75, pgsty/silo#76, pgsty/silo#77, pgsty/silo#78, pgsty/silo#82, pgsty/silo#83, pgsty/silo#84, pgsty/silo#99, pgsty/silo#100, pgsty/silo#102, pgsty/silo#105, pgsty/silo#109, pgsty/silo#110, pgsty/silo#111, pgsty/silo#112, pgsty/silo#113, pgsty/silo#114, pgsty/silo#115, pgsty/silo#116, pgsty/silo#117, pgsty/silo#118, pgsty/silo#119, pgsty/silo#120, pgsty/silo#133, pgsty/silo#136, pgsty/silo#137, pgsty/silo#139, pgsty/silo#141, pgsty/silo#144, pgsty/silo#147, pgsty/silo#148, pgsty/silo#158, pgsty/silo#165, pgsty/silo#166, pgsty/silo#167, pgsty/silo#168, pgsty/silo#169, pgsty/silo#170, pgsty/silo#171, pgsty/silo#204
Open issues: pgsty/silo#199, pgsty/silo#200, pgsty/silo#201, pgsty/silo#202, pgsty/silo#203
Merged PRs: pgsty/silo-console#9, pgsty/silo-console#10, pgsty/silo-console#11, pgsty/silo-console#38, pgsty/silo-console#39, pgsty/silo-console#40, pgsty/silo-console#41, pgsty/silo-console#42, pgsty/silo-console#43, pgsty/silo-console#44, pgsty/silo-console#45, pgsty/silo-console#46, pgsty/silo-console#47, pgsty/silo-console#48, pgsty/silo-console#49, pgsty/silo-console#50, pgsty/silo-console#51, pgsty/silo-console#53, pgsty/silo-console#54, pgsty/silo-console#55, pgsty/silo-console#56, pgsty/silo-console#57
Closed issues: pgsty/silo-console#1, pgsty/silo-console#2, pgsty/silo-console#3, pgsty/silo-console#4, pgsty/silo-console#5, pgsty/silo-console#6, pgsty/silo-console#7, pgsty/silo-console#8, pgsty/silo-console#12, pgsty/silo-console#13, pgsty/silo-console#14, pgsty/silo-console#15, pgsty/silo-console#16, pgsty/silo-console#17, pgsty/silo-console#18, pgsty/silo-console#19, pgsty/silo-console#20, pgsty/silo-console#21, pgsty/silo-console#22, pgsty/silo-console#23, pgsty/silo-console#24, pgsty/silo-console#25, pgsty/silo-console#26, pgsty/silo-console#27, pgsty/silo-console#28, pgsty/silo-console#29, pgsty/silo-console#30, pgsty/silo-console#31, pgsty/silo-console#33, pgsty/silo-console#35, pgsty/silo-console#36, pgsty/silo-console#37
Open issues: pgsty/silo-console#32, pgsty/silo-console#34
Merged PRs: pgsty/mc#1, pgsty/mc#2, pgsty/mc#3, pgsty/mc#4, pgsty/mc#8, pgsty/mc#9, pgsty/mc#10, pgsty/mc#11, pgsty/mc#13, pgsty/mc#22, pgsty/mc#24, pgsty/mc#27, pgsty/mc#32, pgsty/mc#33, pgsty/mc#34, pgsty/mc#35, pgsty/mc#36, pgsty/mc#37, pgsty/mc#38, pgsty/mc#39, pgsty/mc#40, pgsty/mc#41, pgsty/mc#42, pgsty/mc#43
Closed issues: pgsty/mc#5, pgsty/mc#6, pgsty/mc#7, pgsty/mc#12, pgsty/mc#14, pgsty/mc#15, pgsty/mc#16, pgsty/mc#17, pgsty/mc#18, pgsty/mc#19, pgsty/mc#20, pgsty/mc#21, pgsty/mc#23, pgsty/mc#25, pgsty/mc#28, pgsty/mc#29, pgsty/mc#30, pgsty/mc#31
Merged PRs: pgsty/silo-pkg#1, pgsty/silo-pkg#2, pgsty/silo-pkg#3, pgsty/silo-pkg#4, pgsty/silo-pkg#5, pgsty/silo-pkg#6, pgsty/silo-pkg#7, pgsty/silo-pkg#8, pgsty/silo-pkg#9
Merged PRs: pgsty/silo.pgsty.com#2, pgsty/silo.pgsty.com#3, pgsty/silo.pgsty.com#5, pgsty/silo.pgsty.com#6, pgsty/silo.pgsty.com#7, pgsty/silo.pgsty.com#8, pgsty/silo.pgsty.com#9, pgsty/silo.pgsty.com#10, pgsty/silo.pgsty.com#11, pgsty/silo.pgsty.com#13, pgsty/silo.pgsty.com#14, pgsty/silo.pgsty.com#15, pgsty/silo.pgsty.com#16, pgsty/silo.pgsty.com#17, pgsty/silo.pgsty.com#19, pgsty/silo.pgsty.com#20, pgsty/silo.pgsty.com#21, pgsty/silo.pgsty.com#22, pgsty/silo.pgsty.com#23, pgsty/silo.pgsty.com#24, pgsty/silo.pgsty.com#26, pgsty/silo.pgsty.com#27, pgsty/silo.pgsty.com#28, pgsty/silo.pgsty.com#29
Open PRs: pgsty/silo.pgsty.com#25
Record source: SILO CONTRIBUTORS.md · GitHub data. Please open an issue or PR to correct missing or inaccurate credit.
6 - Security Policy
Current release boundary: latest Server 20260903 remains affected by SN-2026-011, fixed on main. A client/pkg release is separate from publication of a fixed Server; see the component matrix.
Security maintenance is the reason this fork exists. Upstream minio/minio is archived; Silo tracks CVEs against the codebase, backports or writes the fixes, and publishes what it found.
Reporting a vulnerability
Report undisclosed high-severity vulnerabilities through a private channel, not in a public issue.
- Silo server and
mcliclient — preferably as a private report through GitHub Security Advisories onpgsty/silo. - This documentation — open an issue on
pgsty/silo.pgsty.com; if the content itself discloses a weakness, use a private channel instead.
Include the affected release, a description of the impact, and reproduction steps if you have them — this helps us confirm the issue faster.
We will do our best to respond within a reasonable time, but note that Silo is a community project: we promise no fix SLA and no guaranteed response time.
Vulnerabilities in upstream MinIO
Silo is a fork, so the vast majority of findings apply to minio/minio as well. The upstream repository is archived and no longer accepts reports — precisely the gap this project fills. Report to Silo; where an issue affects other distributions of the same code, the project coordinates disclosure with them.
Where fixes are published
-
Advisory Ledger — the stable index of every CVE and fork-local
SN-identifier: the fix commit, affected area, exploitability, release boundary, and dependency security updates. -
Security Chronicle — one article per investigated CVE: the original threat model, the back-and-forth of the review, the rejected alternatives, the invariant finally settled on, the verifying evidence, and the compatibility cost.
-
Release Notes — the release each fix first shipped in and became publicly available.
Hardening your own deployment
Reporting is one half; configuration is the other. See the security checklist for deployment hardening, and network encryption for TLS setup.
See also
- License — the software is provided as-is, without warranty of any kind
- Attribution — copyright and derivation of this documentation
7 - Security Advisories
This ledger summarizes fork-specific security fixes and closely related
upgrade-impacting security notes in pgsty/silo. It is intentionally narrower
than a changelog and focuses on release-impacting security behavior. Each
advisory with its own investigation also has an article in the
Security Chronicle; this page is the stable index of
identifiers, fixes, and release boundaries.
Entries carry a CVE identifier where one exists. Where none does, they carry a
fork-local SN-<year>-<sequence> identifier so that a finding without a CVE can
still be referenced stably from release notes, commits and issues. An SN-
identifier is not a CVE and is not registered in any vulnerability
database; it is deliberately not written in CVE form so that scanners do not
mistake it for one. Upstream minio/minio is archived, so for findings in
inherited code there is no upstream maintainer to coordinate a CVE assignment
with. SN-2026-001 is the streaming-flush regression in
trackingResponseWriter, which is a reliability defect rather than a security
one and is tracked in the release notes rather than here.
Current release boundary
Verified 2026-09-16. The latest published Server is
RELEASE.2026-09-03T13-18-01Z.
SN-2026-011 is fixed on main but remains present in that
release and all earlier public Server releases. A newer mcli, pkg or standalone
Console does not patch an installed Server. See the
component matrix for source pins.
Inherited upstream advisory baseline
The first Silo community release was cut from upstream history that already contained the following security fix. Upstream and Silo links are both recorded even when the fork preserves the same commit object and SHA; that identity is the inheritance evidence, not a claim that Silo independently reimplemented the patch.
| ID | Upstream remediation | Silo inheritance | Release note |
|---|---|---|---|
| CVE-2025-62506 | minio/minio#21642, merged as c1a49490 |
The same commit object is present as pgsty/silo@c1a49490 |
Resets DenyOnly while evaluating a restricted session policy so service or STS accounts cannot mint an unrestricted child service account. Upstream first fixed this in RELEASE.2025-10-15T17-29-55Z; every Silo community release, beginning with RELEASE.2025-12-03T12-00-00Z, contains it. Operators migrating from an older upstream build should upgrade and audit service accounts created by restricted service or STS identities. See the chronicle article. |
Advisories since RELEASE.2026-03-21T00-00-00Z
| ID | Fixed by | Affected area | Chronicle / release note |
|---|---|---|---|
CVE-2026-33322 |
d24f449e0 |
OIDC STS (AssumeRoleWithWebIdentity, AssumeRoleWithClientGrants) |
Chronicle |
CVE-2026-33419 |
3b950f8fa + follow-ups |
LDAP STS authentication | Chronicle |
CVE-2026-34204 |
56fa63bfd |
Replication metadata handling | Chronicle |
CVE-2026-39414 |
3252d5b7f |
S3 Select oversized record handling | Chronicle |
| CVE-2026-41145 | f444b6f37 |
Unsigned-trailer PUT and multipart upload authentication | Chronicle |
| CVE-2026-40344 | efb6e5b00 |
Snowball auto-extract authentication | Chronicle |
| CVE-2026-42600 | 73ac52472 |
Internode ReadMultiple storage-REST endpoint |
Chronicle |
SN-2026-002 |
ca7baa670 and follow-ups |
Internode storage-REST and Grid RPC payloads | Chronicle · release note |
SN-2026-003 |
silo-pkg v3.11.0 and 2f55347f7 |
S3/IAM bucket-policy condition values | release note |
| Not a vulnerability | fe6dc4780 |
Client source address (aws:SourceIp, audit remotehost, event Host) |
Chronicle |
SN-2026-004 |
silo-pkg v3.11.0 and 97b7d2804 |
IAM policy evaluation of bucket-level actions | Chronicle · release note |
SN-2026-005 |
silo-pkg v3.12.0 and eee05a17c |
IAM named-policy and service-account policy writes | release note |
SN-2026-006 |
b73581b05, c4fd97d0b (#82) |
SSE-C reads of zero-byte objects | Chronicle |
SN-2026-007 |
474cd5801, 74c97d005, 21870fa2e (#84) |
GetObjectAttributes on SSE-C objects |
Chronicle |
SN-2026-008 |
PR #101 (938603458 through 04b097fd9) |
Internal replication request headers | Chronicle |
SN-2026-009 |
58735ee38, 229fe2b3c (PR #73) |
Admin SetUserStatus / SetGroupStatus |
Chronicle |
SN-2026-010 |
PR #104 (75a6734e4 through d2d47a41f, #58) |
DeleteObject/DeleteObjects with explicit versionId |
Chronicle |
SN-2026-011 |
123325430 |
SigV4 signed-header coverage; x-amz-copy-source dispatch |
Chronicle |
Upgrade and compatibility notes for each entry follow. Entries whose full investigation is told in a chronicle article are summarized here; follow the link for the threat model, rejected alternatives, and verification.
CVE-2026-33322 — OIDC STS JWT algorithm confusion
Remote exploitation: yes. Closes JWT algorithm confusion by removing
HMAC/shared-secret verification and requiring JWKS-backed verifier keys.
Breaking change: providers issuing HS256, HS384, or HS512 tokens for
these STS flows must switch to JWKS-backed RSA or ECDSA signing before
upgrading. PS256 and EdDSA are not currently supported.
CVE-2026-33419 — LDAP STS username enumeration
Remote exploitation: yes. Prevents username enumeration by unifying
unknown-user and bad-password responses (both now 400 InvalidParameterValue)
and adds in-memory login throttling. The final June design limits by source IP
only; it removed the shared username bucket because attackers could use it to
lock out a specific account. Limits are per-node and in-memory; the source
address trust policy is configurable separately. See the LDAP STS
chronicle for the successive repairs.
CVE-2026-34204 — replication metadata injection
Remote exploitation: yes. Blocks untrusted X-Minio-Replication-* headers
from being smuggled into internal replication metadata and leaving objects
unreadable. Upgrade any server that accepts untrusted PutObject or
CopyObject requests, which in practice means almost any production server
that accepts writes.
CVE-2026-39414 — S3 Select oversized records
Remote exploitation: yes. Rejects oversized CSV and line-delimited JSON
records with OverMaxRecordSize instead of buffering them unchecked. The
April fix initially missed the SIMD JSON path; the June follow-up routes all
JSON Lines through the bounded json.PReader, closing that bypass. See the
S3 Select chronicle.
CVE-2026-41145 — unsigned-trailer authentication bypass
Remote exploitation: yes. Closes the query-string authentication bypass in
unsigned-trailer streaming requests. Upgrade if clients can reach object write
endpoints using the STREAMING-UNSIGNED-PAYLOAD-TRAILER content-sha256 mode
together with query-string SigV4 credentials.
CVE-2026-40344 — Snowball auto-extract authentication
Remote exploitation: yes. Verifies request authentication before tar
extraction in Snowball unsigned-trailer flows. Upgrade if you use
PutObjectExtract or Snowball uploads.
CVE-2026-42600 — internode ReadMultiple path traversal
Remote exploitation: yes; cluster-root JWT required. Removes the unused endpoint that allowed path traversal outside configured drive roots. Upgrade distributed-erasure deployments. Single-node deployments do not register this route.
SN-2026-002 — internode payload containment
Remote exploitation: yes; cluster-root / internode JWT required. Completes
CVE-2026-42600: its fix removed one endpoint that exercised the gap; the gap
itself — request bodies and grid frames never reaching the validity
middleware, and no containment in the storage layer — remained across three
further protocol surfaces. Closes path traversal on both the volume and path
axes (including the peer-S3 bucket RPCs, which bypass the storage-REST wrapper
entirely), an unrecoverable divide-by-zero that killed a node per RPC frame,
metadata that reported truncated shards as intact, and three allocations sized
from caller-declared values. Upgrade distributed-erasure deployments;
single-node deployments register none of these routes. No S3 API behaviour
changes; object keys containing . or .. path segments were already refused
at the S3 boundary.
SN-2026-003 — policy condition value sources
Remote exploitation: yes (policy-dependent). Prevents raw request entries
that spell condition-key names from shadowing or synthesizing internal
condition values; confines s3:signatureAge to verified SigV4 presigned
requests; separates query-only list fields from header-backed x-amz-*
fields; and stops client request tags from impersonating stored existing-object
tags. The compatible query form remains for storage class and upload tagging
on handlers that consume it; an explicitly present header wins, including an
empty header. Use request-tag conditions only on operations that consume tags.
Header-only x-amz-* policy keys no longer accept query substitutes. See
condition value sources and
precedence.
Client source address trust — opt-in hardening, not a vulnerability
Fixed by fe6dc4780; no CVE assigned (the default matches upstream, and
upstream’s own position is that IP-based restrictions are impractical without
reliable source-IP visibility). Adds an enforceable forwarded-header trust
boundary, MINIO_API_TRUSTED_PROXIES. Set to a list of addresses or CIDR
blocks, forwarded headers are believed only from those peers and forwarding
chains are read right-to-left past listed hops — which also stops the
client-supplied left-most entry that an appending proxy leaves in place. Set to
none, no forwarded header is believed at all. This is the guarantee
_MINIO_API_XFF_HEADER=off never provided. No behaviour change for any
existing deployment; the variable is opt-in and inert when unset. If you use
IpAddress or NotIpAddress conditions, note that they were not enforceable
before this change; the operator contract — including why the allowlist must
name proxies rather than subnets and why multi-node deployments must include
their own node addresses — is in the chronicle
article and the
settings reference.
SN-2026-004 — object-grant bucket reach
Remote exploitation: yes (policy-dependent). Withholds twelve sensitive
bucket-level writes from an object-only resource pattern
(arn:aws:s3:::bucket/*): PutBucketPolicy, DeleteBucketPolicy,
PutBucketObjectLockConfiguration, PutBucketVersioning,
PutReplicationConfiguration, PutBucketLifecycle, DeleteBucket,
ForceDeleteBucket, PutBucketCors, DeleteBucketCors, PutBucketQOS,
PutInventoryConfiguration. This is an authorization tightening; read the
chronicle article before
upgrading if you write your own bucket-scoped policies. Add the bare bucket
ARN (arn:aws:s3:::bucket) alongside the wildcard form in any statement that
legitimately grants one of the twelve. Built-in canned policies are unaffected;
Deny statements and NotResource exclusions are untouched.
MINIO_API_LEGACY_BUCKET_RESOURCE_MATCH=on restores the historical behaviour
in full; it is read once at startup.
SN-2026-005 — bare ARN prefix rejection
No direct remote exploit; policy-dependent. Rejects S3, S3 Tables, and KMS ARN
namespace prefixes that name no resource, including their historical
*arn:... serialization, in both Resource and NotResource, when creating
named policies and when creating or updating service-account session policies.
Existing policies keep loading, matching, importing, and replicating with
unchanged runtime behavior, but a policy containing such a prefix cannot be
submitted unchanged; replace it with the intended concrete resource, or use an
explicit wildcard such as arn:aws:s3:::* only when all resources are
intended. A “bare ARN prefix” (arn:aws:s3:::) is distinct from the valid
“bare bucket ARN” of SN-2026-004 (arn:aws:s3:::bucket). IAM import,
site-replication receive paths, stored-policy loading, and STS inline policies
remain on the permissive compatibility path in this release. See the
pkg v3.12.0 release note.
SN-2026-006 — SSE-C zero-byte reads
Remote exploitation: yes; requires read access to the object. Zero-byte SSE-C
objects never unsealed the customer-provided key, so a wrong key was accepted
with 200 instead of 403, and a copy or new version could be created under a
key of the caller’s choosing without knowing the current one. Wrong keys now
fail with 403 AccessDenied as on AWS; correct keys behave as before and no
client change is needed. Inherited from upstream; every earlier release is
affected.
SN-2026-007 — GetObjectAttributes on SSE-C objects
Remote exploitation: yes; requires read access to the object. Attributes of
SSE-C objects were returned without authenticating the customer key, and a bare
X-Minio-Source-Replication-Request header skipped the check entirely. A wrong
key returns 403, a replication marker without the key returns 400;
replication peers holding s3:ReplicateObject are unaffected. Inherited from
upstream.
SN-2026-008 — internal replication headers
Remote exploitation: yes; any authenticated principal that can read or write
the object. Completes CVE-2026-34204: internal headers such as
X-Minio-Source-Etag, X-Minio-Source-Mtime,
X-Minio-Source-Replication-Request, the replication SSE key headers, and
X-Amz-Bucket-Replication-Status were still trusted on presence in most
handlers. Replication semantics now require the exact marker value together
with s3:ReplicateObject or s3:ReplicateDelete; other requests have these
headers removed after signature verification. Site replication service accounts
and bucket-replication targets that already hold the replication permissions
are unaffected. Inherited from upstream.
SN-2026-009 — user/group status authorization
Remote exploitation: yes; authenticated admin API. Status changes were
authorized against admin:EnableUser / admin:EnableGroup regardless of the
requested status, so a principal allowed only to enable could also disable,
and vice versa. Enable and disable now require the action matching the target
status. Policies that grant only one of the pair lose the other operation;
admin:* and the built-in consoleAdmin policy are unaffected. Inherited from
upstream.
SN-2026-010 — explicit version delete authorization
Remote exploitation: yes; authenticated S3 API. Explicit version deletes were
authorized as s3:DeleteObject with only a deny check on
s3:DeleteObjectVersion, diverging from AWS. Explicit version deletes now
require s3:DeleteObjectVersion. Two policy effects: principals granted
only s3:DeleteObject can no longer delete specific versions, and a policy
that relied on Deny s3:DeleteObject to block permanent deletes must also deny
s3:DeleteObjectVersion, because Allow s3:* now permits explicit version
deletes. Replication targets keep the s3:ReplicateDelete contract. Inherited
from upstream.
SN-2026-011 — unsigned x-amz-* headers and x-amz-copy-source
Remote exploitation: yes; a party holding only a presigned PUT URL, or any
signed PUT, needs no credentials of its own. SigV4 verification only checked
that each named signed header was present and never inspected the x-amz-*
headers that actually arrived, while the router dispatches any PUT carrying
x-amz-copy-source to CopyObjectHandler. An unsigned x-amz-copy-source
therefore turned a one-object write grant into a server-side copy of any
object the signing key can read, executed as the signer; both the presigned
and Authorization-header paths were affected, and where the destination bucket
allows anonymous GetObject the copied private bytes become readable
unauthenticated. Any unsigned x-amz-* request header is now refused with
AccessDenied on both paths, matching AWS S3 (AWS returns 403; Silo returns
400 AccessDenied, otherwise identical). Every AWS SDK, minio-go, and mc
already signs its x-amz-* headers, so legitimate clients need no change.
Inherited unchanged from upstream minio/minio; every earlier release,
including the latest published Server 20260903, is affected. Reported by Oren
Yomtov; a CVE has been requested. See the chronicle
article and the signed-header
design record.
Dependency security updates
Rows list the absorbed fix and the commit or release that first carried it. Reachability and deployment exposure still need to be judged per release: an absorbed dependency fix is not a claim that the vulnerability was reachable in Silo.
| ID / date | Fixed by | Summary |
|---|---|---|
| 2026-03-25 release | RELEASE.2026-03-25 |
OTel SDK, Paho MQTT and x/crypto updates absorb CVE-2026-24051, CVE-2025-10543 and CVE-2025-58181; shipped together with the LDAP TLS regression fix below. Not every dependency upgrade in that release was a reachable vulnerability. |
CVE-2026-34986 |
68e0ba997 |
Upgrades go-jose to v4.1.4. |
CVE-2026-39883 |
1869bd30b, e4fa06394 |
Updates OpenTelemetry dependencies. |
| Go 1.26.2 stdlib | db4c0fd5e (release lineage 9a4b3cd92) |
CVE-2026-32280 and CVE-2026-32281 (crypto/x509), CVE-2026-32283 (crypto/tls); toolchain/stdlib only, no unrelated dependency rolling. |
| Go 1.26.4 refresh | df627ff89, 3e61b1d3a |
CVE-2026-32952 (Azure NTLM), CVE-2026-41602 (Thrift), plus further NATS/Prometheus security fixes as the dependency-maintenance layer of the 06-18 release. |
| Upstream Go security fixes | Go 1.26.5 | Bumps the required toolchain to Go 1.26.5, which includes security fixes to crypto/tls and os. |
| GO-2026-6061 / GHSA-hrxh-6v49-42gf | 4dfc27ce3: gRPC v1.82.1 with x/text v0.39.0 |
gRPC xDS RBAC engine and HTTP/2 transport fixes (GO-2026-5970 / CVE-2026-56852, an infinite loop on invalid input in x/text, landed in the same refresh). Existing MVS pins were kept; the security update was not used to roll unrelated dependencies. |
| GO-2026-5841 | f1357853d: klauspost/compress v1.18.7 |
govulncheck judged the affected dictionary symbols unreachable, but the known-affected direct dependency was still not carried; updated to the first fixed version. |
| Toolchain and dependency refresh | Go 1.27.1 via 43f4bb7ed, edc8be6ed, 4d6e1ea8e |
Moves the toolchain to Go 1.27 (1.27.1 as of the release) and refreshes the dependency stack (etcd client v3.7.1, jwx v3.0.13, klauspost/compress v1.19.2). The pre-release cleanup then returns to upstream minio-go (v7.3.1 pre-release) and retires the silo-go fork; govulncheck reports no reachable vulnerability on the release candidate. |
| GO-2026-6354 / GO-2026-6355 | golang.org/x/crypto v0.56.0 (edf36bcbf) |
Updates x/crypto/ssh to the first fixed version for denial of service on deadlocked undecided and established channels. Reachable through the SFTP server (startSFTPServer → sftp.Server.Listen → ssh.NewServerConn); every earlier release that enables SFTP is affected. |
| CVE-2026-84304 | gRPC v1.83.1 |
Updates gRPC-Go to the first fixed version for unauthenticated heap exhaustion through highly fragmented HTTP/2 DATA frames. Silo pulls gRPC transitively rather than registering a gRPC server itself, but selects the fixed version for the complete module graph. |
GO-2026-5970 / CVE-2026-56852 |
x/text v0.39.0 |
Updates x/text to the first fixed version for an infinite loop on invalid input. |
Operationally significant security-related fixes
| Change | Fixed by | Summary |
|---|---|---|
| Replicated Object Lock updates ignored their timestamps | f4c1286c9, included in Server 20260903 |
A replicated CopyObject rebuilt the metadata from the request before comparing replication timestamps, so the stored retention and legal-hold timestamps were never seen: any replica update was applied regardless of order, and the legal-hold timestamp was written under the retention key. A stale replica could therefore turn a newer legal hold off or shorten a newer retention. The stored state is now captured first, a replica update is applied only when its timestamp is newer, a stale one leaves the stored state in place, and each timestamp is kept under its own key. Inherited from upstream; builds preceding the fix are affected. |
| LDAP TLS regression | ce1c537eb, released in RELEASE.2026-03-25 |
Restores TLS configuration propagation for ldaps:// DialURL() connections so MINIO_IDENTITY_LDAP_TLS_SKIP_VERIFY and custom root CAs work again. |
Attribution of this ledger
This page is maintained from the ledger previously carried in the repository at
docs/security/advisories.md, updated through verified main 40220bd836cb
(2026-09-16). Release status statements are calibrated against the
component matrix; each fix’s investigation, review,
and verification detail lives in the linked chronicle article or release note.