CVE-2026-52957

libceph: Fix potential null-ptr-deref in decode_choose_args()

State
Published
Severity
7.5 High
Published
Jun 24, 2026
Updated
Oct 19, 2026
Reserved
Jun 9, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

libceph: Fix potential null-ptr-deref in decode_choose_args()

A message of type CEPH_MSG_OSD_MAP contains an OSD map that itself contains a CRUSH map. When decoding this CRUSH map in crush_decode(), an array of max_buckets CRUSH buckets is decoded, where some indices may not refer to actual buckets and are therefore set to NULL. The received CRUSH map may optionally contain choose_args that get decoded in decode_choose_args(). When decoding a crush_choose_arg_map, a series of choose_args for different buckets is decoded, with the bucket_index being read from the incoming message. It is only checked that the bucket index does not exceed max_buckets, but not that it doesn't point to an index with a NULL bucket. If a (potentially corrupted) message contains a crush_choose_arg_map including such a bucket_index, a null pointer dereference may occur in the subsequent processing when attempting to access the bucket with the given index.

This patch fixes the issue by extending the affected check. Now, it is only attempted to access the bucket if it is not NULL.

Scores

CVSSScoreVectorSource
3.17.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HLinux

Weaknesses

Affected Products

ProductVersions
LinuxLinux
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before d55ffad8d422b5d1cc44dad32bd3d25f4471cd9fAffected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before 301286c0ccd37d66b0e40786fd35a4f19cdbd88aAffected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before 7169f326a23d0f547fcd90e68b72fd387622e126Affected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before d7a65a34d2453f8cd3e0cc0e1319740af7e24276Affected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before 312ec973efac0efb9b9ed64214235910e9ecbaa8Affected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before f2f95e6d4b97e70bb876139b0583fc8079983f85Affected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before a20e16ebfe2fa65348eb4b2dc7deac330ce03e9cAffected
  • c7ed1a4bf4b446317eefa0f4916d94b1f6d3ada5 to before 28b0a2ab8c82d0bbdeb8013029c67c978ce6e4bfAffected
LinuxLinux
  • 4.13Affected
  • before 4.13Not affected
  • 5.10.258 through 5.10.*Not affected
  • 5.15.209 through 5.15.*Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.141 through 6.6.*Not affected
  • 6.12.91 through 6.12.*Not affected
  • 6.18.33 through 6.18.*Not affected
  • 7.0.10 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.