Skip to content

[WIP]: Patch ceph for CVE 2025 30156(ceph x authentication bypass) - #18774

Draft
Akhila Guruju (akhila-guruju) wants to merge 5 commits into
microsoft:3.0-devfrom
Kanishk-Bansal:topic/ceph/CVE-2025-30156/CephX-authentication-bypass
Draft

[WIP]: Patch ceph for CVE 2025 30156(ceph x authentication bypass)#18774
Akhila Guruju (akhila-guruju) wants to merge 5 commits into
microsoft:3.0-devfrom
Kanishk-Bansal:topic/ceph/CVE-2025-30156/CephX-authentication-bypass

Conversation

@akhila-guruju

Copy link
Copy Markdown

Backported Functionality

RFC 8009 AES256-CTS-HMAC-SHA384-192 authenticated encryption.
Random confounders and constant-time HMAC validation.
Per-purpose key derivation for tickets, authorizers, replies, and rotating secrets.
Legacy AES compatibility during migration.
ARM64-safe message signature calculation.
MonMap cipher policy and monitor feature negotiation.
Classic and Crimson ticket/secret invalidation through auth_epoch.
ceph auth rotate --key-type=aes256k.
ceph auth dump-keys.
ceph auth wipe-rotating-service-keys.
ceph mon set auth_{allowed,preferred,service}_cipher.
Authoritative auth-database storage for rotated mon. keys.
ceph-mon --use-mon-keyring emergency recovery.
Larger mount.ceph key buffer.
RFC vector, tamper-rejection, wrong-usage, and legacy-AES tests.

Required Migration

Installing the patch alone does not remove the vulnerability. Operators must:

Upgrade all monitors, then all remaining daemons.
Enable both ciphers:

Rotate mon., mgr., osd., and mds.* keys, distribute returned keyrings, and restart each daemon.
Rotate client keys only after their userspace/kernel clients support aes256k.
Switch rotating service keys:

Confirm no legacy keys remain:

Disable legacy authentication:

Only after the final step is CVE-2025-30156 fully mitigated.

Downstream Changes

OpenSSL 3 with AES-256-CBC-CTS provider support is mandatory.
ceph-authtool and fresh OSD/MonMap creation now default to aes256k.
Older clients and kernels cannot use rotated keys. Upstream kernel support starts with Linux 7.0 unless vendor-backported.
MonMap encoding advances to version 10.
Activating the persistent AES256K monitor feature prevents downgrade to unpatched monitors.
Rotating a key immediately invalidates its old value; all copies must be replaced.
wipe-rotating-service-keys forces ticket and rotating-secret refresh, although established sessions remain active.
Existing crypto APIs remain source-compatible through wrappers, but C++ vtables and CephContext layout change. Rebuild all Ceph binaries and binary plugins.

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
There may be pipelines that require an authorized user to comment /azp run to run.

@microsoft-github-policy-service microsoft-github-policy-service Bot added Packaging 3.0-dev PRs Destined for AzureLinux 3.0 labels Sep 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

3.0-dev PRs Destined for AzureLinux 3.0 Packaging

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant