SILO 20261025: Unified Maintenance Release (Preparation)
Status on 2026-10-25: silo-pkg v3.15.1, mcli 20261025 and Console v2.5.0 are released; Server 20261025 is a Draft and the maintenance batch remains incomplete. 20261025 is a coordinated maintenance batch shared across SILO, mcli, SILO Console, silo-pkg, and KES, delivering the Go 1.27.3 toolchain upgrade, dependency updates, and associated security fixes. The remaining component version numbers, Git tags, commit hashes, and artifact digests will be added as each component ships; the downloads page continues to serve the current production releases.
First component delivered: silo-pkg v3.15.0, from commit 717969b63fa7. This shared Go library raises the minimum Go version from 1.26 to 1.27.3, updates 13 dependency modules compared with v3.14.3, and retains its policy optimizations and authorization semantics. Final-commit Go, LDAP, and VulnCheck CI passed; downstream consumers take the update by adopting the released module and rebuilding.
On October 25, silo-pkg v3.15.1 followed from commit 8893479a348a. It updates minio-go from v7.4.1 to upstream commit ab93db7ba435 (v7.4.2-0.20261020194015-ab93db7ba435), covering six fixes: short sequential and parallel multipart streams, ReadAt EOF and negative offsets, read/seek bounds after Stat, and duplicate batch-delete error results. Upstream has not tagged v7.4.2. Go remains 1.27.3; formatting and NetBSD compatibility selections remain in place. This patch adds no new CVE fix. Other components receive these SDK fixes only after adopting the module and rebuilding.
The inventory below reflects dependency, build, and advisory audits conducted on 2026-10-22 and 2026-10-23, plus the incremental Go dependency updates on October 24. System-package and frontend security entries retain the review dates stated below. CVEs that appear across multiple components are recorded once under their primary dependency.
Upgrade scope
| Component | Maintenance scope |
|---|---|
| silo-pkg | v3.15.1 released: Go 1.27.3, shared dependency updates, six additional upstream minio-go fixes, and output compatibility |
| mcli | 20261025 released: Go 1.27.3, silo-pkg v3.15.1, minio-go fixes, alias regions, JSON error exit status, and Windows ZIP archives |
| SILO Console | v2.5.0 released: Go 1.27.3, pkg v3.15.1, mcli 20261025, upstream SDK fixes, GUI updates and diagnostic WebSocket repair; Node 24.22.1 and Vite 8.3.5 |
| SILO | 20261025 Draft: released pkg/mcli/Console sources, Go 1.27.3, management and write/rollback/cleanup repairs, static curl and trust stores |
| KES | Go 1.27.3, dependency validation, UBI 9.8 base-image, and trust-store maintenance |
Server 20261025 Draft Release
Server tag RELEASE.2026-10-25T00-00-00Z is a Draft Release, with package version 20261025000000.0.0. It selects the published silo-pkg v3.15.1, mcli 20261025 (dcc78d506f94) and Console v2.5.0 (989fa7150792) sources, plus the verified upstream minio-go commit ab93db7ba435. Public Server downloads and Docker images remain at 20261018; this draft does not advance latest.
The final dependency rescan reviewed Server’s 280 explicit Go requirements. No additional compatible stable update needs adopting. Formatting, terminal-width, NetBSD and no-op instrumentation selections remain intentional exceptions. The newer MC and Console main commits contain release documentation only, so Server uses their released source commits. The Go vulnerability scan reports no affected imported package or reachable vulnerability; GO-2026-5932 remains a module-level OpenPGP advisory for a package Server does not import, with no upstream fix.
This draft includes the IAM Reset and live bucket-inventory repairs described below. It also retains independently verified write, rollback and cleanup corrections: admitted storage mutations finish before local guards are released or staging is cleaned; rollback checks ownership and restores only its overwritten version, preserving subsequent writes and metadata changes; abandoned-data cleanup retains backups needed by commit/undo; PUT timestamps are generated under the commit lock. The previous read-quorum and healing policy remains, including readability after a failed partial overwrite.
The Server update also isolates IAM policy reloads from the authentication-cache lock and propagates KMS cancellation. Multi-pool deletion retains authoritative copies when cleanup fails and protects shared tier references; lifecycle expiry that only creates a delete marker retains its remote payload, including non-null versions in suspended buckets. Multipart replication forwards FULL_OBJECT checksum type. Thanks to @botdeniska for the lifecycle, replication and multi-pool deletion contributions. Windows archives now use ZIP.
Pre-release validation: source 263ee0510da5 passed Go CI, VulnCheck, and Test Release Pipeline before tagging. The local full Go suite passed 8,658 tests and subtests with 72 skips; 204 targeted race checks passed. Real Server tests with the published Console and mcli verified complete health reports, immediate built-in policy Reset, and versioned S3 upload, tagging, download integrity and deletion. Windows archives were cross-compiled and structurally checked; this local acceptance did not include native Windows execution.
Remaining storage limits: lease loss and network partitions can still allow late commits, and partial metadata updates can still expose stale values or tags. Split generations and unavailable pools retain the previous read behavior. This does not add distributed fencing, repair existing inconsistent objects or establish recovery of the historical mismatch. Stricter read refusal and extra cross-pool recovery are deferred; their failing diagnostics remain under the consistency_strict build tag and are not reported as passing. Waiting for admitted I/O can prolong same-object writes or cleanup on a stuck drive; interrupted cleanup can retain rollback backups. Upgrade every writer before relying on the new rollback ownership checks.
Console v2.5.0 release
Console v2.5.0 is published from source 989fa7150792. It selects the published silo-pkg v3.15.1 and mcli 20261025. The MC replacement is v0.0.0-20261025104502-dcc78d506f94, matching the official RELEASE.2026-10-25T00-00-00Z tag. minio-go selects upstream commit ab93db7ba435 described above; Go remains 1.27.3.
Changes since v2.4.2 include permission-aware navigation, Overview, sortable and filterable bucket tables, text/Markdown/CSV previews, Tasks, identity and policy management updates, and a responsive light/dark interface. Policy Reset requires the corresponding Server IAM cache repair; task cancellation does not undo completed mutations. See the Console CHANGELOG for the full source changes.
Coordinated Server update required for Reset: published Server 20261018 can return HTTP 500 on the first policy read after resetting an overridden built-in policy. The Server source repair passes the immediate-read regression with Console 2.5.0, but has not shipped in that Server release. Deliver this action with the Server repair; a standalone Console update does not repair the old Server’s policy cache.
#63 reports truncated health reports and WebSocket 1006 on high-latency connections. This release fixes all six diagnostics: Health, Trace, Logs, Watch, Speedtest and Profile. The existing sole reader waits for the peer Close; the Close write and reply share a five-second budget that does not limit active diagnostic streams. Thanks to Azat (@azataiot) for the reproduction and analysis. The issue is closed after the source repair and regression checks. The fix is included in v2.5.0.
Real-server validation also reproduced a separate health-report failure: madmin v3’s version decoder can consume and discard the beginning of the next report, causing WebSocket 1011. The upstream fix is in v4 and is absent from the v3 branch. Console retains the v3 API and uses its signed request method with one decoder for the entire stream. It closes the response body and rejects truncated, canceled or failed responses rather than returning partial reports.
The October 25 rescan covered Console’s 185 explicit Go dependency requirements within their current major versions. Beyond the maintained components and SDK above, no additional compatible stable release needs adopting. Keep the tablewriter 0.0.5, humanize 1.0.1, runewidth 0.0.29 and go-systemd 22.6.0 compatibility exceptions. The madmin v4 API migration requires separate review; the health-report repair above does not depend on it. The mcli main commit after its tag only updates release documentation, so Console selects the released source. These health-report changes are correctness repairs and add no CVE fix; the security inventory below retains its stated review dates.
The Server 20261025 draft selects pkg v3.15.1 and the released mcli 20261025 and Console v2.5.0 sources. Two live Server processes were tested with both object-backed IAM and etcd: built-in policy overrides, in-use rejection, immediate Reset reads on both nodes, delayed notifications, custom-policy deletion and persistence across restart passed. Embedded Console Reset and complete health-report downloads also passed on both nodes. This does not change object read-quorum or healing semantics.
End-to-end testing also found that the Server account-info endpoint could return a stale cached bucket inventory after a successful create or delete. The candidate reads the current inventory for this management endpoint. Each account-info request now performs a live bucket listing; API fields and permission filtering are unchanged. Deterministic create/delete regressions and repeated browser create/delete flows pass. Console also restores the object-workspace entry for write-only users: uploads remain available while object listing and reading require their own permissions. Wildcard bucket-root grants now work in workspace entry and list controls, while prefix-scoped object operations keep their restrictions. Rejected object-tag writes now show the server’s JSON error, which was previously lost by API methods with an empty success response. Successful downloads and empty responses retain their behavior. Diagnostic stream correctness, IAM Reset, bucket inventory, workspace-entry and error-display repairs are not new CVE fixes.
Bucket search also discards delayed query updates after navigation. Previously, opening an object workspace while its code was still loading could let the old search timer navigate back to the bucket list. A regression test delays that load and advances the search timer explicitly.
Standalone Console v2.5.0 does not replace the Console embedded in Server. The coordinated Server source fixes are on main but remain unreleased; no new Server version is published with this Console release. CI uses the coordinated Server source and local test images; those images are not distribution artifacts.
Verified Console delivery
The stable GitHub release contains 44 assets: six platform binaries with matching archives, nine DEB/RPM/APK packages, source, legal notices, checksums, SPDX SBOMs and the Sigstore bundle. Windows uses ZIP; Linux and macOS use tar.gz. Downloaded file hashes, package contents, Go 1.27.3 build metadata and exact source revision were verified. The public Go module is v0.0.0-20261025145732-989fa7150792; its proxy origin and checksum database records match the tagged source.
The exact release commit passed the required matrix and vulnerability checks, including 658 browser tests. The downloaded release binary also passed 12 health-report checks against published Server 20261018 and the repaired Server source, with 75/250 ms added in each direction: complete reports and clean WebSocket close code 1000. Reset immediately restores the policy on the repaired Server; the old Server’s first-read failure remains the documented boundary above.
The release build and image promotion verified signatures, SPDX attestations, GitHub provenance and anonymous Linux amd64/arm64 pulls. Image binaries and legal files match the release assets. docker.io/pgsty/silo-console:v2.5.0 and latest select the same verified index:
See the verification contract and downloads. This publishes standalone Console only; Server 20261018 still embeds Console v2.4.2.
Additional Go dependency updates on October 24
The Go toolchain remains 1.27.3. Compared with the October 22 candidate dependencies, this update includes 26 newly released third-party module versions, plus previously available Arrow and codescan updates: 28 distinct modules in total.
| Dependency | Version change | Components |
|---|---|---|
| pkg/sftp | 1.13.11 → 1.13.12 | SILO |
| etcd api/v3, client/pkg/v3, client/v3 | 3.7.2 → 3.7.3 | silo-pkg, mcli, Console, SILO |
| JWX | 3.3.0 → 3.4.0 | silo-pkg, mcli, Console, SILO |
| nats.go | 1.54.0 → 1.55.0 | SILO |
| procfs | 0.22.0 → 0.23.0 | mcli, Console, SILO, KES |
| AWS SDK v2, 14 modules | core 1.47.3 → 1.47.4; config 1.33.9 → 1.33.10; credentials 1.20.9 → 1.20.10; Secrets Manager 1.50.5 → 1.50.6, with matching supporting modules | KES |
| GCP IAM / Monitoring / Secret Manager / Google API | IAM 1.14.0 → 1.15.0; Monitoring 1.31.0 → 1.32.0; Secret Manager 1.22.0 → 1.23.0; Google API 0.307.0 → 0.308.0 | IAM and Google API: SILO, KES; Monitoring: SILO; Secret Manager: KES |
| go-rootcerts | 1.0.2 → 1.1.0 | KES |
| Arrow | 18.7.0 → 18.8.0 | SILO, through the Azure SDK |
| codescan | 0.36.4 → 0.36.6 | Console generator toolchain |
Existing API behavior and compatibility exceptions are retained. Published references between components will be updated in dependency order at release time; local integration uses the candidate component sources. Other update candidates that appear only in the full module graph, without imports from the checked applications or their own tests, are not added as root requirements solely to raise their versions.
Included runtime security fixes
Go and certificate trust
CVE-2026-111943 / GO-2026-6809: Go 1.27.3 rejects known untrustworthy intermediate certificates in crypto/x509, protecting TLS verification even when host trust stores have not yet been updated. All five primary projects and the standalone debugging modules are built with Go 1.27.3.
In addition, the UBI container trust stores for SILO, mcli, and KES apply the root certificate blocklist from Red Hat RHSB-2026-012. Because blocking a root rejects every certificate chain anchored under that root, this container-level mitigation is broader than Go 1.27.3’s intermediate-certificate check; external services still using certificates chained to those roots must rotate their certificate chains. See Locally mitigated items below for the UBI CA package status.
SFTP dependency hardening
pkg/sftp 1.13.12 fixes three security issues disclosed on October 23. At the time of this review, none has a CVE identifier. They are recorded separately by GHSA and are not counted as new CVEs:
| Advisory | Upstream issue | Applicability to SILO |
|---|---|---|
| GHSA-xgcg-wgmj-5rw3, Medium | Client.RemoveAll follows a top-level symlink and can delete contents of the target directory |
The SILO server does not call this client API |
| GHSA-47hq-m6q9-3rm6, Medium | ReadOnly mode on sftp.Server permits hardlink creation |
SILO uses NewRequestServer and its own driver, not this read-only Server API |
| GHSA-h959-g3h6-w76c, High | ReadOnly mode permits file truncation or creation | Same as above |
Because the latter two upstream advisories have inconsistent affected-range and patched-version metadata, this batch upgrades directly to 1.13.12 containing the code fixes and verifies them with regression tests (the Go vulnerability database snapshot remains at October 21 and has not yet ingested these October 23 advisories).
Static curl and linked libraries
The static curl binary bundled in SILO container images is upgraded from 8.22.0 to 8.23.0 (built with HTTP/2, SSH, and Brotli enabled over the OpenSSL backend). The table below lists all 21 CVEs from the official curl 8.22.0 vulnerability summary alongside their applicability to SILO’s static build:
| CVE | Issue / applicability |
|---|---|
| CVE-2026-92392 | HTTP/2 upload use-after-free |
| CVE-2026-107929, CVE-2026-94266, CVE-2026-94265, CVE-2026-86413, CVE-2026-86414, CVE-2026-86415, CVE-2026-87861 | Connection reuse and credential/authentication boundaries |
| CVE-2026-92386, CVE-2026-86412, CVE-2026-87862, CVE-2026-87863 | Cookie and HSTS state handling |
| CVE-2026-92387, CVE-2026-92388, CVE-2026-92389, CVE-2026-92390, CVE-2026-92391 | Loops, FTP/TFTP, download filenames, and MIME recursion |
| CVE-2026-86410, CVE-2026-87865 | SSH host verification and known_hosts callbacks |
| CVE-2026-107928, CVE-2026-87866 | GnuTLS / wolfSSL only; neither backend is used by SILO’s OpenSSL build |
The statically linked Alpine libraries are also updated to the following patched revisions (-rN denotes the Alpine security backport revision):
| Library | Version change | CVE |
|---|---|---|
| Brotli | 1.2.0-r1 → 1.2.1-r0 | CVE-2026-111497 |
| musl | 1.2.6-r2 → 1.2.6-r3 | CVE-2026-107891 |
| libssh2 | 1.11.1-r3 → 1.11.1-r4 | CVE-2025-15661, CVE-2026-58050, CVE-2026-58051, CVE-2026-66032, CVE-2026-66033, CVE-2026-66034, CVE-2026-66035 |
The previous SILO arm64 image already linked OpenSSL 3.5.9-r0, nghttp2 1.70.0-r0 (CVE-2026-58055), and zlib 1.3.2-r1 (CVE-2026-85091); this update enforces minimum version floors in the build script and verifies both architectures against the official Alpine security metadata.
Build and development security fixes
This section covers the Node.js, Vite, and code-generation toolchain used during SILO Console frontend compilation and testing (Console runs in production as a compiled Go server binary), as well as the standalone Go debugging modules in the server repository.
Node 24.22.1
The build environment updates Node.js from 24.22.0 to 24.22.1, addressing all eight Node 24.x CVEs in the October 2026 Node.js security release (excluding Node-26-only findings):
| CVE | Fix |
|---|---|
| CVE-2026-105482 | DNS names truncated at NUL |
| CVE-2026-105483, CVE-2026-106069, CVE-2026-106072 | TLS hostname checks for non-canonical IP addresses |
| CVE-2026-111497 | Brotli decoder out-of-bounds write (backported in Node while the embedded version string remains 1.2.0) |
| CVE-2026-105481 | HTTP keep-alive accepts data sent before a request |
| CVE-2026-106074 | Random caches reused across startup snapshots |
| CVE-2026-106073 | Permission-model bypass in fs.realpathSync |
Node 24.22.1 updates bundled Undici from 7.29.1 to 7.30.1, resolving eight CVEs documented in the Undici v7.30.1 release notes:
| CVE | Fix |
|---|---|
| CVE-2026-87018, CVE-2026-109383 | TLS renegotiation crash and lost Agent verification callbacks |
| CVE-2026-109829, CVE-2026-109841 | Cross-origin cache disclosure and SRI bypass |
| CVE-2026-109869, CVE-2026-87029, CVE-2026-109924, CVE-2026-109932 | Denial of service in content decoding, EventSource, and WebSocket handling |
Node 24.22.1 also updates bundled OpenSSL from 3.5.8 to 3.5.9, incorporating 13 fixes across DTLS, QUIC, CRLs, CMP, EC/SM2, and handshake memory safety: CVE-2026-84782, CVE-2026-35189, CVE-2026-35191, CVE-2026-42772, CVE-2026-54872, CVE-2026-54873, CVE-2026-54875, CVE-2026-72897, CVE-2026-75804, CVE-2026-75805, CVE-2026-75806, CVE-2026-77696, CVE-2026-84784.
Node 24.22.1 updates bundled c-ares from 1.34.8 to 1.34.9, resolving 11 upstream GHSAs that do not carry separate CVE IDs (GHSA-wpr3-8q3r-4q8c covers a connection-shutdown path omitted from the earlier CVE-2026-33630 fix and remains listed as No known CVE):
| Advisory | Fix |
|---|---|
| GHSA-wpr3-8q3r-4q8c | Memory corruption when cancelling after connection failure |
| GHSA-fqh5-3x7m-wp44 | Replies accepted from the wrong DNS server |
| GHSA-97vq-4mxv-7vhm | Freed query used after failed connection shutdown |
| GHSA-rf6g-ww74-97qh | Use-after-free during cancellation/shutdown callbacks |
| GHSA-mw23-pfg6-2x9r | Use-after-free after socket-state callbacks |
| GHSA-v33j-65h4-4ch8 | Use-after-free when server-state callbacks cancel queries |
| GHSA-pj7p-v3cw-hq66 | Freed server record used after a callback changes servers |
| GHSA-grv7-fq5q-9vfc | Cached answer freed while being read |
| GHSA-ph6c-3cvx-mq6v | Buffer overflow during concurrent option copying/server updates |
| GHSA-cfcv-8v2j-qj6r | Uninitialized memory in IPv6 addresses with prefix lengths |
| GHSA-wrgc-prmw-27xh | Cache reuses replies obtained with different EDNS options |
Frontend dependencies and code generation
| Dependency | CVE / GHSA | Fix |
|---|---|---|
| fast-uri 3.1.7 → 3.1.9 | CVE-2026-86472 | Inconsistent normalization of encoded hostnames |
| ip-address 10.4.0 → 10.7.4 | CVE-2026-101913 | Incorrect link-local IPv6 classification |
| ip-address 10.4.0 → 10.7.4 | CVE-2026-101910 | Unrecognized local-use NAT64 range |
| ip-address 10.4.0 → 10.7.4 | CVE-2026-101912 | Subnet checks mix address families |
| ip-address 10.4.0 → 10.7.4 | CVE-2026-101911 | Unbounded diagnostics for long addresses |
| moment 2.30.1 → 2.31.0 | CVE-2026-17495 | Path traversal through non-string locale input |
| smol-toml 1.8.0 → 1.9.1 | GHSA-r4xh-jqrq-34v2 | Quadratic TOML parsing |
| vite 8.0.16 → 8.3.5 | CVE-2026-112945 | Cross-origin script execution in development middleware |
| vite 8.0.16 → 8.3.5 | CVE-2026-112946 | Development-server filesystem allowlist bypass |
| vite 8.0.16 → 8.3.5 | CVE-2026-112943 | Insufficient Windows editor-argument escaping |
| vite 8.0.16 → 8.3.5 | CVE-2026-112944 | Editor arguments interpreted as command options |
| vite 8.0.16 → 8.3.5 | CVE-2026-112942 | Windows editor-path check bypass |
In addition, go-swagger is updated from 0.33.2 to 0.36.6, resolving GHSA-8gmg-wf5j-hvf7 and GHSA-rg22-m539-jwvf (code injection during code generation when processing untrusted OpenAPI content types or enum values; first fixed upstream in 0.35.3 without a separate CVE ID). Generated files are synchronized with the updated tool. The generation process explicitly preserves the reviewed configuration-import binder and multipart consumer, retaining the existing file-size, filename and form-encoding behavior under regression tests.
Independent Go debugging modules
The standalone inspect, s3-verify, and xattr module graphs in the server repository previously lagged behind the root module. Updating their dependencies clears 37 CVE-numbered dependency findings and one non-CVE S2 advisory:
| Dependency | Affected independent modules | Selected version |
|---|---|---|
| golang.org/x/crypto | inspect, s3-verify | 0.58.0 |
| golang.org/x/net | s3-verify | 0.61.0 |
| golang.org/x/text | s3-verify | 0.43.0 |
| golang.org/x/sys | inspect, xattr | 0.49.0 |
| klauspost/compress | inspect, s3-verify | 1.20.3 |
The table below links each finding to the Go vulnerability database and records the first upstream fixed version (the unfixed OpenPGP notice is listed separately under Build-stage and non-CVE advisories):
| CVE / advisory | Dependency | First fixed | Issue |
|---|---|---|---|
| GO-2026-5841 | klauspost/compress | v1.18.7 | OOB read in github.com/klauspost/compress/s2 |
| CVE-2026-39824 | x/sys | v0.44.0 | integer overflow in NewNTUnicodeString in golang.org/x/sys/windows |
| CVE-2025-47913 | x/crypto | v0.43.0 | Potential denial of service in golang.org/x/crypto/ssh/agent |
| CVE-2025-58181 | x/crypto | v0.45.0 | Unbounded memory consumption in golang.org/x/crypto/ssh |
| CVE-2025-47914 | x/crypto | v0.45.0 | Malformed constraint may cause denial of service in golang.org/x/crypto/ssh/agent |
| CVE-2026-39833 | x/crypto | v0.52.0 | key constraints not enforced in golang.org/x/crypto/ssh/agent |
| CVE-2026-39832 | x/crypto | v0.52.0 | agent constraints dropped when forwarding keys in golang.org/x/crypto/ssh/agent |
| CVE-2026-46597 | x/crypto | v0.52.0 | byte arithmetic causes underflow and panic in golang.org/x/crypto/ssh |
| CVE-2026-39828 | x/crypto | v0.52.0 | bypass of certificate restrictions in golang.org/x/crypto/ssh |
| CVE-2026-39835 | x/crypto | v0.52.0 | server panic during CheckHostKey/Authenticate in golang.org/x/crypto/ssh |
| CVE-2026-39827 | x/crypto | v0.52.0 | memory leak when rejecting channels can lead to DoS in golang.org/x/crypto/ssh |
| CVE-2026-39830 | x/crypto | v0.52.0 | client can cause server deadlock on unexpected responses in golang.org/x/crypto/ssh |
| CVE-2026-39829 | x/crypto | v0.52.0 | pathological RSA/DSA parameters may cause DoS in golang.org/x/crypto/ssh |
| CVE-2026-39831 | x/crypto | v0.52.0 | bypass of FIDO/U2F security keys physical interaction in golang.org/x/crypto/ssh |
| CVE-2026-39834 | x/crypto | v0.52.0 | infinite loop on large channel writes in golang.org/x/crypto/ssh |
| CVE-2026-42508 | x/crypto | v0.52.0 | auth bypass via unenforced @revoked status in golang.org/x/crypto/ssh/knownhosts |
| CVE-2026-46595 | x/crypto | v0.52.0 | VerifiedPublicKeyCallback permissions skip enforcement in golang.org/x/crypto/ssh |
| CVE-2026-46598 | x/crypto | v0.52.0 | pathological inputs can lead to client panic in golang.org/x/crypto/ssh/agent |
| CVE-2026-56854 | x/crypto | v0.55.0 | Source-address critical option not enforced for non-public-key auth callbacks in golang.org/x/crypto/ssh |
| CVE-2026-78662 | x/crypto | v0.56.0 | Prevent DoS on deadlocked undecided channel in golang.org/x/crypto/ssh |
| CVE-2026-56855 | x/crypto | v0.56.0 | Prevent DoS on deadlocked established channel in golang.org/x/crypto/ssh |
| CVE-2025-47911 | x/net | v0.45.0 | Quadratic parsing complexity in golang.org/x/net/html |
| CVE-2025-58190 | x/net | v0.45.0 | Infinite parsing loop in golang.org/x/net |
| CVE-2026-33814 | x/net | v0.53.0 | Infinite loop in HTTP/2 transport when given bad SETTINGS_MAX_FRAME_SIZE in net/http/internal/http2 in golang.org/x/net |
| CVE-2026-42506 | x/net | v0.55.0 | incorrect handling of namespaced elements in foreign content in golang.org/x/net/html |
| CVE-2026-39821 | x/net | v0.55.0 | failure to reject ASCII-only Punycode-encoded labels in golang.org/x/net/idna |
| CVE-2026-42502 | x/net | v0.55.0 | incorrect handling of HTML elements in foreign content in golang.org/x/net/html |
| CVE-2026-25680 | x/net | v0.55.0 | denial of service when parsing arbitrary HTML in golang.org/x/net/html |
| CVE-2026-25681 | x/net | v0.55.0 | incorrect handling of character references in DOCTYPE nodes in golang.org/x/net/html |
| CVE-2026-27136 | x/net | v0.55.0 | duplicate attributes can cause XSS in golang.org/x/net/html |
| CVE-2026-46600 | x/net | v0.56.0 | Parsing an invalid SVCB or HTTPS RR can panic in golang.org/x/net/dns/dnsmessage |
| CVE-2026-78659 | x/net | v0.60.0 | HTTP/2 server memory exhaustion due to Trailer headers in net/http |
| CVE-2026-78660 | x/net | v0.60.0 | HTTP/2 transport accepts malformed framing-related headers in net/http |
| CVE-2026-78669 | x/net | v0.60.0 | Excessive CPU consumption from repeated initial window changes in net/http |
| CVE-2026-78663 | x/net | v0.60.0 | Double flow control refund on HTTP/2 server streams in net/http |
| CVE-2026-97032 | x/net | v0.60.0 | HTTP/2 server crash due to HPACK encoder race in net/http |
| CVE-2026-56852 | x/text | v0.39.0 | Infinite loop on invalid input in golang.org/x/text |
| CVE-2026-56851 | x/text | v0.41.0 | Panic parsing crafted input in x/text/secure/precis in golang.org/x/text |
Outstanding upstream or distribution issues
As of 2026-10-23, the advisories below do not yet have an upstream or distribution release available. Rather than suppressing scanner rules, we record each finding alongside its local mitigation or runtime reachability.
Locally mitigated, awaiting upstream publication
| Issue | Upstream / distribution status | Action and remaining boundary |
|---|---|---|
| CVE-2026-93687 / braces | Latest npm version remains 3.0.3, with no upstream fixed release | A local Yarn patch limits parsing and AST traversal in [email protected] to depth 100 (13 regression tests pass). The package is only in the frontend build/test graph; version-only scanners continue to report 3.0.3 until an upstream release replaces the patch. |
| CVE-2026-111943 / UBI CA | At acceptance, UBI 9 supplied ca-certificates 2025.2.80_v9.0.305-91.el9 without the updated trust list |
The Red Hat root blocklist is applied during image build and verified on the output PEM bundle; Go 1.27.3 and Node 24.22.1 also enforce their own built-in certificate checks. |
UBI 9.8 findings without an applicable vendor fix
Scans conducted on 2026-10-22 against the SILO, mcli, and KES system-component acceptance images (containing the updated static curl and CA bundle on amd64 and arm64) each report 24 RPM findings across the same 12 unique CVEs (15 Medium and 9 Low per image, zero High/Critical, and no vendor FixedVersion). Red Hat security queries on 2026-10-23 continue to list the RHEL 9 source packages below as Affected or Fix deferred.
Because RPM scanners map advisories by source package (SRPM), defects in uninstalled CLI utilities or other CPU architectures are reported against shared runtime packages such as libgcc and glibc. The applicability of each entry is detailed below:
| CVE | Source package | Red Hat severity | RHEL 9 status | Applicability |
|---|---|---|---|---|
| CVE-2026-56391 | coreutils | Moderate | Fix deferred | uniq multibyte over-read requiring specific CLI options and input |
| CVE-2026-8674 | glibc | Moderate | Fix deferred | Long DNS resolver search domains can abort a process |
| CVE-2026-86805 | glibc | Moderate | Affected | Local dynamic-loader race requiring local setuid, path, and hardlink conditions |
| CVE-2026-89092 | glibc | Moderate | Affected | nscd DNS caching daemon issue; the nscd package is not installed in the images |
| CVE-2026-95818 | glibc | Moderate | Affected | Dynamic-loader stack overflow requiring specific local setuid and path conditions |
| CVE-2026-97399 | glibc | Low | Affected | Power8-specific code path; published images target amd64 and arm64 only |
| CVE-2021-46195 | gcc | Low | Fix deferred | libiberty symbol-demangler recursion (the mingw-gcc update listed in the advisory does not apply to runtime libgcc) |
| CVE-2022-27943 | gcc | Low | Fix deferred | libiberty defect; Red Hat notes that libgcc and libstdc++ do not contain the affected code |
| CVE-2026-95619 | gcc | Moderate | Affected | libstdc++ aligned-allocation overflow mapped to libgcc via the gcc SRPM |
| CVE-2026-102010 | gcc | Moderate | Affected | Optional libstdc++ pb_ds container defect mapped to libgcc via the gcc SRPM |
| CVE-2023-50495 | ncurses | Low | Fix deferred | tic terminal-compiler utility defect; not present in libncurses |
| CVE-2022-41409 | pcre2 | Low | Fix deferred | Affects pcre2-tools CLI utilities only; not shipped in UBI |
Build-stage and non-CVE advisories
- Alpine build-stage
curl/libcurlremains8.22.0-r0: As of 2026-10-23, the Alpine package indexes for amd64 and arm64 have not yet published8.23.0. This host package is used only inside the temporary build stage to fetch SHA-256-pinned source archives; the runtime image ships the newly compiled staticcurl 8.23.0. - GO-2026-5932:
golang.org/x/crypto/openpgpis deprecated upstream with no fixed version and no CVE alias. Whilegolang.org/x/cryptoremains in the module graph, none of the target builds import the affectedopenpgppackages.
Historical repairs, not newly fixed vulnerabilities
Module-path binary scanners continue to match SILO against CVE-2025-27414, CVE-2026-33322, CVE-2026-33419, CVE-2026-34204, CVE-2026-39414, CVE-2026-40344, CVE-2026-41145, and CVE-2026-42600 because SILO retains the github.com/minio/minio module path and those upstream advisories specify open-ended version ranges. All eight issues were patched and verified in earlier SILO releases; see SFTP, OIDC, LDAP, replication metadata, CSV, Snowball, signature validation, and ReadMultiple.
Compatibility and pre-release validation
To prevent reproduced regressions in CLI table formatting, character-width calculation, and NetBSD cross-compilation, this batch pins tablewriter 0.0.5, go-humanize 1.0.1, go-runewidth 0.0.29 in the root modules, and go-systemd/v22 22.6.0 (while xattr retains its existing width-library combination). In addition:
- Kafka notification targets explicitly initialize the protocol version default to
2.1before applying user settings; - DARE encryption retains 32-byte keys and v2 writes while fixing buffer handling when unsealing legacy v1 payloads;
pgzipretains the integrity check that returnsunexpected EOFwhen a gzip checksum trailer is missing.
The October 22–23 candidate validation (built with Go 1.27.3 on both the rollback baseline and the candidate, with persisted-data acceptance run on a single-node four-drive Linux arm64 setup) passed:
- Full compilation and applicable
-raceand lint suites; - Encrypted-object read and rollback verification across the old and new dependency stacks;
- Service restart, missing-shard healing recovery, and CLI output checks;
- End-to-end Console object uploads/downloads, ZIP archive previews, WebSocket sessions, and metrics charts.
The candidate sources with the October 24 dependency updates passed these additional checks:
- Full race suites for silo-pkg, mcli, and KES; API / pkg / cmd race suites for Console; the full SILO test suite and focused SFTP, IAM, and Parquet race tests. Lint, module verification, and dependency tidiness checks passed for all five projects.
- SFTP object reads, writes, listing, deletion, Unicode names, transfer block boundaries, and read-only data protection through the SILO driver against HTTP / HTTPS S3 backends. Upstream read-only server and symlink deletion regression tests passed. Both dependency baselines passed the new object-operation tests.
- JWX signature and time-claim boundary comparisons; 68 CLI output comparisons with no new differences, normalizing only existing metadata map ordering.
- Local etcd mTLS, account authentication, transactions, watches, leases, and old → new → old clients reading across server restarts; NATS / STAN message persistence, ACKs, durable subscription cursors, and reconnection.
- Local Azure / GCS protocol fixtures, KES GCP Secret Manager operations and pagination, the Azure SDK’s Arrow decoder tests, and the full upstream procfs parser fixtures. The procfs update corrects bcache units and NVMe sizes, so the corresponding metric values may change to reflect those corrections.
- Native Darwin arm64 and cross-compiled Linux amd64 builds of mcli, Console, SILO, and KES; NetBSD amd64 cross-builds of mcli and SILO.
Linux amd64 package-level Go vulnerability scans of all five projects found no affected imported packages (only the module-level GO-2026-5932 entry remains, with no imports of the affected OpenPGP subpackages).
Before the remaining components are published, this page will be updated with their final version tags, artifact checksums, container image digests, and any upstream status changes.