Public bug reported:

[ Impact ]

Impacts Noble kernel linux 6.8.

Ceph Squid 19.2.6 and Tentacle 20.2.4 add CephX aes256k credentials as
part of CVE-2025-30156 remediation
(https://docs.ceph.com/en/latest/security/CVE-2025-30156/).

Kernel Ceph clients implement authentication independently of Ceph user-
space libraries. They cannot load an aes256k client credential, so
kernel RBD mappings and CephFS mounts cannot use rotated client keys or
access an aes256k-only cluster. Changes added in Linux 7.0 add aes256k
support.

[ Fix ]

Backport the Kerberos cryptography prerequisites and four upstream
libceph changes needed for complete CephX aes256k support. Increasing
the maximum key length alone is insufficient.

libceph: generalize ceph_x_encrypt_offset() and ceph_x_encrypt_buflen()
https://github.com/torvalds/linux/commit/0ee8bccf7396d50726c9c8dd3135fb64a9fe8426

libceph: introduce ceph_crypto_key_prepare()
https://github.com/torvalds/linux/commit/6cec0b61aacce4da5125b21c718189f0dc11eb51

libceph: add support for CEPH_CRYPTO_AES256KRB5
https://github.com/torvalds/linux/commit/b7cc142dbafeaf6c053284ca9121b9f70b6d6d06

libceph: adapt ceph_x_challenge_blob hashing and msgr1 message signing
https://github.com/torvalds/linux/commit/8356b4b1103b8c970648c94bab724aa30e42d869

Include an upstream bounds check in __ceph_x_decrypt() to reject
plaintext shorter than the encryption header before accessing it. This
fixes a pre-existing potential out-of-bounds access in the same
decryption path modified by the backport. It is not required to
implement aes256k and is not itself the CVE-2025-30156 fix.

libceph: Fix potential out-of-bounds access in __ceph_x_decrypt()
https://github.com/torvalds/linux/commit/821365487aa58d06bda65c676ba215d506ba9768

[ Test Plan ]

Boot the candidate Noble kernel image and matching modules in a
disposable VM. Use pinned Ceph 19.2.6 packages and confirm all daemons
are upgraded and restarted.

* Reproduce the limitation: stock kernel rejects aes256k; legacy aes RBD and 
CephFS I/O succeeds.                                                            
                     
* Verify support and compatibility: candidate kernel passes a small RBD and 
CephFS write/read comparison with both key types on a mixed-key cluster.        
                 
* Check messenger compatibility: repeat aes256k I/O in legacy, crc and secure 
modes, confirming the selected mode and keeping v1 signing enabled.             
                 
* Check session recovery: confirm uncached reads after remap/remount, OSD/MDS 
restarts and ticket renewal.                                                    
                       
* Verify enforced policy: on fresh and upgraded aes256k-only clusters, confirm 
legacy credentials fail authentication and aes256k I/O succeeds; rotate and 
verify admin/daemon keys before enforcement.                                    
                              
* Validate crypto prerequisites: run Kerberos and crypto-manager selftests with 
a separate test-enabled kernel and matching modules.                            
                     
* Validate the bounds guard: use non-shipping instrumentation to confirm 
__ceph_x_decrypt() returns -EINVAL when valid ciphertext decrypts to less than 
an encryption header.

[ Where problems could occur ]

The changes affect shared libceph authentication used by both kernel RBD
and CephFS. Errors could break authentication, ticket renewal,
reconnects or messenger-v1 signing, including for existing legacy-key
clients.

The crypto and scatterlist prerequisites extend beyond libceph, so
regressions could affect other users of those shared paths. The
companion bounds check changes rejection of short decrypted
authentication messages.

[ Other Info ]

CVE reference: https://ubuntu.com/security/CVE-2025-30156.
Related key-rejection symptom: 
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2166680

** Affects: linux (Ubuntu)
     Importance: Undecided
     Assignee: John Ramsden (johnramsden)
         Status: In Progress

** Changed in: linux (Ubuntu)
     Assignee: (unassigned) => John Ramsden (johnramsden)

** Changed in: linux (Ubuntu)
       Status: New => In Progress

** CVE added: https://cve.org/CVERecord?id=CVE-2025-30156

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2171558

Title:
  [SRU] Backport CephX aes256k support for kernel RBD and CephFS clients
  (CVE-2025-30156)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2171558/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to