<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>S3 on SILO</title><link>https://silo.pgsty.com/tags/s3/</link><description>Recent content in S3 on SILO</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 02 Aug 2026 15:22:46 +0800</lastBuildDate><atom:link href="https://silo.pgsty.com/tags/s3/index.xml" rel="self" type="application/rss+xml"/><item><title>MinIO Fork, Promise Kept</title><link>https://silo.pgsty.com/blog/post/minio-promise-kept/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/blog/post/minio-promise-kept/</guid><description>Two months after forking MinIO, pgsty/minio ships patches for four CVEs and related security issues. No new features — just working builds, a restored console, and timely security fixes.</description></item><item><title>MinIO Is Dead, Long Live MinIO</title><link>https://silo.pgsty.com/blog/post/minio-resurrect/</link><pubDate>Sat, 14 Feb 2026 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/blog/post/minio-resurrect/</guid><description>MinIO&amp;rsquo;s repo is officially archived and abandoned. And how AI Agents helped bring it back from the dead. This post explains how a community fork restores the admin console and ships binaries via CI/CD pipeline.</description></item><item><title>CVE-2026-39414: Oversized S3 Select Records and a SIMD Bypass</title><link>https://silo.pgsty.com/blog/security/cve-2026-39414/</link><pubDate>Wed, 15 Apr 2026 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/blog/security/cve-2026-39414/</guid><description>&lt;p&gt;&lt;strong&gt;Status:&lt;/strong&gt; Released; the second-round fix was completed in June&lt;br&gt;
&lt;strong&gt;Initial fix release:&lt;/strong&gt; &lt;a href="https://github.com/pgsty/minio/releases/tag/RELEASE.2026-04-17T00-00-00Z"&gt;RELEASE.2026-04-17T00-00-00Z&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;Complete fix release:&lt;/strong&gt; &lt;a href="https://github.com/pgsty/minio/releases/tag/RELEASE.2026-06-18T00-00-00Z"&gt;RELEASE.2026-06-18T00-00-00Z&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;GitHub issue:&lt;/strong&gt; &lt;a href="https://github.com/pgsty/minio/issues/25"&gt;pgsty/minio#25&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The first fix in April reused the existing 1 MiB &lt;code&gt;maxCharsPerRecord&lt;/code&gt; limit for both CSV and ordinary JSON Lines. This prevented unbounded buffering while waiting for a delimiter and returned the explicit &lt;code&gt;OverMaxRecordSize&lt;/code&gt; error to clients. A June review then found that CPUs with SIMD support took a different &lt;code&gt;simdjson&lt;/code&gt; fast path that bypassed the limit completely.&lt;/p&gt;</description></item><item><title>CVE-2026-41145: Unsigned-Trailer Query Authentication Bypass</title><link>https://silo.pgsty.com/blog/security/cve-2026-41145/</link><pubDate>Thu, 16 Apr 2026 00:00:00 +0000</pubDate><guid>https://silo.pgsty.com/blog/security/cve-2026-41145/</guid><description>&lt;p&gt;&lt;strong&gt;Status:&lt;/strong&gt; Released&lt;br&gt;
&lt;strong&gt;First containing release:&lt;/strong&gt; &lt;a href="https://github.com/pgsty/minio/releases/tag/RELEASE.2026-04-17T00-00-00Z"&gt;RELEASE.2026-04-17T00-00-00Z&lt;/a&gt;&lt;br&gt;
&lt;strong&gt;GitHub advisory:&lt;/strong&gt; &lt;a href="https://github.com/advisories/GHSA-hv4r-mvr4-25vw"&gt;GHSA-hv4r-mvr4-25vw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Query-string SigV4 credentials could enter a &lt;code&gt;STREAMING-UNSIGNED-PAYLOAD-TRAILER&lt;/code&gt; data flow, while the old code verified the signature only when an &lt;code&gt;Authorization&lt;/code&gt; header was present. A request carrying a valid access-key identifier could therefore complete a write without a correct signature.&lt;/p&gt;
&lt;p&gt;The final fix moved presigned rejection and SigV4 verification into &lt;code&gt;newUnsignedV4ChunkedReader()&lt;/code&gt;, making every caller consuming that stream share one authentication boundary.&lt;/p&gt;
&lt;h2 id="cve-number"&gt;Identifier note&lt;/h2&gt;
&lt;p&gt;The official CVE had not been assigned when the patch was written, so its commit subject used &lt;code&gt;fake CVE-2026-40027&lt;/code&gt;. The final identifier is &lt;strong&gt;CVE-2026-41145&lt;/strong&gt;. The historical commit remains unchanged; public material uses the official identifier.&lt;/p&gt;</description></item></channel></rss>