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.
Published: 2026-06-24
Score: n/a
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The libceph component of the Linux kernel contains a flaw where the function that decodes choose arguments in a Crush map can dereference a null pointer when a bucket index points to a NULL bucket. This causes the kernel to attempt to access an invalid memory location, leading to a crash and loss of kernel stability. The impact is a denial of service on the affected node.

Affected Systems

Linux kernel installations that use Ceph storage via libceph and have not applied the recent commit that fixes the check are affected. The vulnerability is present in any kernel version containing the libceph code before the patch; specific version numbers are not supplied, so all prior kernel releases that handle CEPH_MSG_OSD_MAP messages are considered vulnerable.

Risk and Exploitability

The CVSS score is not disclosed and the EPSS is not available, but the vulnerability can crash the kernel when a corrupted CEPH message is processed. An attacker who can inject malformed CEPH_MSG_OSD_MAP traffic into the system might trigger the null-pointer dereference, resulting in a kernel panic and interruption of services. Since the system must be listening for Ceph traffic to be exploitable, the attack vector is the network side of Ceph message handling, which is inferred from the description.

Generated by OpenCVE AI on June 24, 2026 at 19:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Update the Linux kernel to a version that includes the libceph patch introduced by commit 28b0a2ab8c82d
  • If a kernel upgrade is not possible, manually apply the patch to the kernel source tree to correct the null pointer dereference in decode_choose_args
  • Restrict or monitor Ceph network traffic so that malformed CEPH_MSG_OSD_MAP messages cannot reach vulnerable nodes

Generated by OpenCVE AI on June 24, 2026 at 19:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 24 Jun 2026 17:15:00 +0000

Type Values Removed Values Added
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.
Title libceph: Fix potential null-ptr-deref in decode_choose_args()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-06-24T16:28:39.066Z

Reserved: 2026-06-09T07:44:35.373Z

Link: CVE-2026-52957

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-24T21:30:04Z

Weaknesses

No weakness.