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

libceph: Fix potential out-of-bounds access in crush_decode()

A message of type CEPH_MSG_OSD_MAP containing a crush map with at least
one bucket has two fields holding the bucket algorithm. If the values
in these two fields differ, an out-of-bounds access can occur. This is
the case because the first algorithm field (alg) is used to allocate
the correct amount of memory for a bucket of this type, while the second
algorithm field inside the bucket (b->alg) is used in the subsequent
processing.

This patch fixes the issue by adding a check that compares alg and
b->alg and aborts the processing in case they differ. Furthermore,
b->alg is set to 0 in this case, because the destruction of the crush
map also uses this field to determine the bucket type, which can again
result in an out-of-bounds access when trying to free the memory pointed
to by the fields of the bucket. To correctly free the memory allocated
for the bucket in such a case, the corresponding call to kfree is moved
from the algorithm-specific crush_destroy_bucket functions to the
generic crush_destroy_bucket().
Published: 2026-06-24
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The vulnerability is triggered when a CEPH_MSG_OSD_MAP containing a crush map with mismatched bucket algorithm fields is processed by the kernel. The first algorithm field determines the allocation size for a bucket, while the second field is used during later processing. If these fields differ, an out-of-bounds memory access occurs, leading to possible kernel memory corruption or system crash.

Affected Systems

All Linux kernel builds that include libceph support and lack the crash_decode patch are affected. This includes any distribution running a kernel prior to the inclusion of the fix that was introduced by the patch referenced in the CVE.

Risk and Exploitability

The flaw requires an attacker to inject a crafted CEPH_MSG_OSD_MAP into the kernel’s processing path, which is likely achievable over the network to a Ceph OSD node. No public exploit has been reported and the EPSS score is unavailable, but the kernel memory corruption nature of the defect warrants a high security importance. The vulnerability is not listed in the CISA KEV catalog, so documented exploitation is currently unknown.

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

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version containing the crash_decode patch (for example, kernel 6.6 or later).
  • Reboot the affected systems or restart the Ceph OSD services so the updated kernel is active.
  • If a kernel upgrade cannot be applied immediately, restrict network access to Ceph OSD nodes to trusted hosts to reduce the risk of a crafted CEPH_MSG_OSD_MAP reaching the kernel.

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

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 24 Jun 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

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 out-of-bounds access in crush_decode() A message of type CEPH_MSG_OSD_MAP containing a crush map with at least one bucket has two fields holding the bucket algorithm. If the values in these two fields differ, an out-of-bounds access can occur. This is the case because the first algorithm field (alg) is used to allocate the correct amount of memory for a bucket of this type, while the second algorithm field inside the bucket (b->alg) is used in the subsequent processing. This patch fixes the issue by adding a check that compares alg and b->alg and aborts the processing in case they differ. Furthermore, b->alg is set to 0 in this case, because the destruction of the crush map also uses this field to determine the bucket type, which can again result in an out-of-bounds access when trying to free the memory pointed to by the fields of the bucket. To correctly free the memory allocated for the bucket in such a case, the corresponding call to kfree is moved from the algorithm-specific crush_destroy_bucket functions to the generic crush_destroy_bucket().
Title libceph: Fix potential out-of-bounds access in crush_decode()
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:37.748Z

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

Link: CVE-2026-52955

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-24T19:15:15Z

Weaknesses
  • CWE-119

    Improper Restriction of Operations within the Bounds of a Memory Buffer