Skip to content

SILO 20261024: Unified Maintenance Release (Placeholder)

One Go 1.27.3 and dependency maintenance announcement for all five components: silo-pkg v3.15.0 is released, the other components are pending, and upstream/vendor issues remain documented.

Status on 2026-10-24: the maintenance batch remains incomplete and this page remains a placeholder; silo-pkg v3.15.0 has been released first. 20261024 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 v3.15.0 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.0 released: Go 1.27.3, shared dependencies, and terminal-output compatibility
mcli Go 1.27.3, client/metrics dependencies, and CLI, JSON, and table-output verification
SILO Console Go 1.27.3, Go dependencies, Node 24.22.1, Vite 8.3.5, and frontend build dependencies
SILO Go 1.27.3, server and five independent debugging modules, static curl, and container trust stores
KES Go 1.27.3, dependency validation, UBI 9.8 base-image, and trust-store maintenance

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/libcurl remains 8.22.0-r0: As of 2026-10-23, the Alpine package indexes for amd64 and arm64 have not yet published 8.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 static curl 8.23.0.
  • GO-2026-5932: golang.org/x/crypto/openpgp is deprecated upstream with no fixed version and no CVE alias. While golang.org/x/crypto remains in the module graph, none of the target builds import the affected openpgp packages.

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.1 before applying user settings;
  • DARE encryption retains 32-byte keys and v2 writes while fixing buffer handling when unsealing legacy v1 payloads;
  • pgzip retains the integrity check that returns unexpected EOF when 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 -race and 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.