FR
live
Linux High CVSS 8.9

Ceph Squid reaches end of life today, just as Umbrella 21.2.0 ships

On 31 October 2026, Ceph Squid (19.x) reaches its estimated end of life, two days after Umbrella 21.2.0 — the 21st stable release — shipped. The migration path is not direct: Ceph allows only one major upgrade at a time, and Umbrella moves to a Rocky Linux 10 base that requires x86-64-v3 CPUs.

A wall of identical hard-drive bays in a dark rack, a single drive with an amber activity LED glowing.

31 October 2026. Ceph Squid (19.x) reaches its estimated end of life. 28 October 2026. Version 21.2.0, codenamed Umbrella, ships — the project’s 21st stable release. Between the two sits a constraint that shapes every migration: Ceph allows only one major upgrade at a time, and Umbrella changes the underlying system base.

Squid stops today, Tentacle remains the way out

The active-releases table in the official documentation is unambiguous. Squid (19.x), released 26 September 2024 and pushed to 19.2.7 on 12 October 2026, has its estimated end of life set for 31 October 2026 — today. From here on, no more security fixes or backports for the branch.

Tentacle (20.x), released 18 November 2025 and brought to 20.2.4 on 19 August 2026, remains the reference stable branch, with end of life on 1 June 2027. Umbrella (21.x), freshly shipped, runs until 28 October 2028. The mechanics are therefore clear: a cluster on Squid must pass through Tentacle first, and only then — if it wants to — through Umbrella. There is no Squid → Umbrella shortcut: Ceph enforces one major version at a time, and that is a design rule, not a team preference.

That rule has an immediate operational consequence. Waiting too long on Squid means accumulating two sequential version jumps, each with its own health checks, scrubs and daemon failovers. The release of Umbrella does not shorten that path; it makes waiting more expensive.

Umbrella 21.2.0: what changes under the hood

Umbrella is not a cosmetic release. The release notes list changes that touch the core of storage.

First, optimized erasure coding (“Fast EC”), a new I/O path that includes EC direct reads, CLS support for EC reads, OMAP support and accelerated CRC checking for data and first parity. For clusters that encode large volumes of data with EC, it is a potential performance win — and one more reason to test before rolling out.

Second, CephX authentication hardening. Umbrella introduces the AES256KRB5 cipher as the new default, replacing weaker legacy key types, plus online key rotation for mon, OSD and MDS daemons during upgrades. The release also fixes CVE-2025-30156, CVE-2026-39944, CVE-2026-50152 and CVE-2026-54330 — including an AES-CBC misuse enabling an authentication bypass. For an exposed cluster, that is the strongest security argument in the batch.

Finally, broader changes: the PG autoscaler raises its default ceilings (mon_target_pg_per_osd from 100 to 200, mon_max_pg_per_osd from 250 to 500), which can lead existing pools to split into more PGs after upgrade; Crimson/Seastore keeps maturing with EC support; the RGW gains object deduplication (tech preview) and AES-256-GCM encryption; and the dashboard migrates to the IBM Carbon design system.

Two operational details deserve a warning. First, because the PG autoscaler defaults rise, existing pools may split into more PGs after upgrade — harmless for a healthy cluster, but worth watching on clusters with many small OSDs, where the guidance is to pin the old values before upgrading. Second, Umbrella continues the long march toward Crimson/Seastore, the next-generation OSD, now with erasure-coding support. None of it is ready to bet production on; it is the direction of travel, and it is why staying current matters more than the headline features.

The mechanics of a Ceph major upgrade, in practice

Concretely, a major upgrade on Ceph is driven through cephadm: you update the monitor and manager daemons first, then the OSDs, then the MDS and RGW, letting the cluster settle between each step. Ceph orchestrates this rolling upgrade without interrupting service — data keeps being served during the migration — but every step assumes a healthy cluster to begin with. That is why the documentation always gives the same instruction: check ceph -s, resolve warnings, then upgrade one major version at a time, never skipping a rung and never attempting to go back down. A Squid cluster aiming for Umbrella must therefore pass through Tentacle, let the cluster settle, then continue. It is a two-leg marathon, not a sprint.

The hidden cliff: Rocky Linux 10 and x86-64-v3

The detail most operators will discover at upgrade time is not a feature — it is the base. Umbrella container images are based on Rocky Linux 10 (el10), which requires a CPU supporting the x86-64-v3 microarchitecture level. Hosts with older processors will not be able to run the containerized daemons of Umbrella.

In plain terms: a Squid cluster running on older hardware can move to Tentacle without trouble — Tentacle stays on an older base — but will hit the x86-64-v3 wall the day it tries to step up to Umbrella. That is a check to do before planning, not during the maintenance window.

The second requirement is softer: Python 3.9 or newer is required on all hosts for cephadm. Here too, a host pinned to an old distribution can block the upgrade for a reason that has nothing to do with Ceph itself.

bash
# 1. Check the current cluster version
ceph versions

# 2. Check x86-64-v3 support (CPU microarchitecture level)
lscpu | grep -E 'Model name|Flags' | head -2
# x86-64-v3 requires AVX2; look for avx2 in the flags:
lscpu | grep -o 'avx2' || echo "avx2 missing — containerized Umbrella is blocked"

# 3. Check the Python version for cephadm
python3 --version

# 4. Before upgrading: check cluster health
ceph -s

A release cadence that is accelerating

The version timeline tells a story between the lines. Squid lasted just over two years (September 2024 → October 2026). Tentacle runs on a similar horizon (November 2025 → June 2027). Umbrella pushes the deadline to two and a half years. But Umbrella’s release lands only three days before Squid’s end of life — a short overlap that leaves little time for a Squid operator to validate Tentacle before their branch becomes orphaned.

That is not a criticism of the Ceph community; it is a fact of life for teams that run distributed storage without a full-time owner. Storage gets upgraded when it has to be, not when it is convenient — and the window between major versions is narrowing. None of this is an argument for skipping upgrades; the opposite is true. The tighter the cadence, the more it pays to stay one version behind the bleeding edge and one ahead of end-of-life. Operators who treat Squid’s deadline as a forcing function — upgrade to Tentacle now, evaluate Umbrella on a test cluster over the winter, migrate in spring — will never face a two-major-version emergency. Operators who wait will, eventually, do exactly that, and it will cost more than a routine window.

Verdict

If you run a Ceph Squid cluster, start the move to Tentacle now: your branch is end-of-life today, and the only way out is one major version at a time. Do not jump straight to Umbrella: Ceph’s sequential rule forbids it anyway, and Umbrella changes the system base — first confirm your hosts support x86-64-v3 and Python 3.9+ before even planning. And if you are already on Tentacle, stay there for now: it is the stable branch, maintained until 1 June 2027, and Umbrella is three days old — give it time to prove itself in production before adopting it. Ceph Squid does not vanish overnight: it simply becomes a cluster with no safety net, and in distributed storage the only thing that matters more than capacity is the version underneath it. Run ceph -s before you plan anything — a healthy cluster makes the whole migration a routine window, and an unhealthy one makes it an incident.

Références

cve

Linked vulnerabilities

CVE-2025-30156Ceph is an open-source distributed storage platform providing object, block, and file storage. In versions prior to 20.2.4 and 19.2.6, the CephX authentication protocol encrypts tickets with AES-128-CBC in an unauthenticated mode that uses a hard-coded initialization vector and no message authentication, allowing an attacker to forge credentials and gain cluster-wide access. Because the ciphertext is malleable and the monitor will encrypt attacker-chosen entity names, an attacker holding one low-privilege key and able to observe CephX traffic can use the monitor as an encryption oracle and splice ciphertext blocks into valid tickets for privileged entities such as Manager, MDS, and OSD. The same lack of authentication also lets an attacker with CephX permissions escalate privileges by flipping a single bit in a service ticket to set its allow_all field to true. This issue is fixed in versions 20.2.4 and 19.2.6. High CVSS 8.9 28/08 CVE-2026-39944Ceph is an open-source distributed storage platform providing object, block, and file storage. In versions prior to 20.2.4 and 19.2.6, the RADOS Gateway (RGW) protects STS session tokens with an AES-128-CBC handler that provides no message authentication, allowing an attacker who holds any valid STS token to tamper with it undetected and escalate to full RGW administrative access. Because the ciphertext is unauthenticated, the attacker can perform a CBC bit-flip on the acct_type, perm_type, and is_admin fields of their own token, and a forged is_admin value triggers a global administrative override that bypasses all capability checks. The attack is reachable remotely over the RGW S3 endpoint and is a self-contained modification of a token the attacker already possesses, requiring no encryption oracle and no network observation. It requires only a single valid STS token, which need not carry any elevated privileges, with STS enabled. This issue is fixed in versions 20.2.4 and 19.2.6. High CVSS 8.8 28/08 CVE-2026-50152Ceph is an open-source distributed storage platform providing object, block, and file storage. In versions prior to 20.2.4 and 19.2.6, the Monitor subscription handler fails to properly authorize access to the configuration-key store, allowing any CephX user with only  `mon allow r` capabilities to read the entire store by sending a single crafted MMonSubscribe message. The config-key store holds sensitive secrets including OSD LUKS disk-encryption passphrases and, on cephadm-managed clusters, the SSH private key that cephadm uses to reach every host in the cluster. Because that key grants root on every node under the default cephadm configuration, a low-privileged read-only account can escalate to full cluster and host compromise. This issue is fixed in versions 20.2.4 and 19.2.6 Critical CVSS 9.1 28/08 CVE-2026-54330Ceph is an open-source distributed storage platform providing object, block, and file storage. In versions prior to 20.2.4 and 19.2.6, the Ceph Object Gateway (RGW) SigV4 handler does not reject requests that carry x-amz-* headers absent from the signed header set, allowing anyone holding a presigned URL to attach arbitrary unsigned x-amz-* headers that RGW will honor. AWS S3 requires every x-amz-* header on a SigV4 request to be signed and rejects requests bearing additional unsigned headers, but RGW validates only the headers listed in X-Amz-SignedHeaders and ignores any extra ones, so they take effect without being covered by the signature. By adding such headers to a presigned PUT URL, an attacker can grant themselves more capabilities than the URL's signer intended and escalate their privileges. This issue is fixed in versions 20.2.4 and 19.2.6. High CVSS 8.1 28/08

The cyber brief, every Tuesday

The flaws that matter and the patches to apply, in a ten-minute read.

No spam. One-click unsubscribe.
read next

On the same topic

A few lines of code speed up FAT32 by up to 265x in Linux 7.4

A patch of a few lines in the kernel’s FAT driver replaces one-cluster allocations with a single multi-cluster call, for a measured speedup of up to 265x on pre-allocation. Merged into Linux 7.4, it is a reminder that FAT32 is still production-grade on EFI partitions, USB sticks and embedded devices.

← Back to the feed

Type at least two characters.

↑ ↓ navigate ↵ open esc dismiss