CVE-2026-52958 PUBLISHED

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

Assigner: Linux
Reserved: 09.06.2026 Published: 24.06.2026 Updated: 28.06.2026

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

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

When decoding osd_state and osd_weight from an incoming osdmap in osdmap_decode(), both are decoded for each osd, i.e., map->max_osd times. The ceph_decode_need() check only accounts for sizeof(*map->osd_weight) once. This can potentially result in an out-of-bounds memory access if the incoming message is corrupted such that the max_osd value exceeds the actual content of the osdmap message.

This patch fixes the issue by changing the corresponding part in the ceph_decode_need() check to account for map->max_osdsizeof(map->osd_weight).

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H
CVSS Score: 9.1

Product Status

Vendor Linux
Product Linux
Versions Default: unaffected
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to 36a79759a288961b1ff28a68ec2d1f56f6848098 (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to 3f2575bb7f955d42569d96c3e04fa958a0dcf4b4 (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to 8713bbc4b2b9ad78f803978e54b7e49dd21bd9be (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to 0d2dd7e6bb74fd7712aa73457a4a821906c6863a (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to e7187f33c02488697ec0d01d82bf7a3f8deaba8f (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to 48df98d12b15360cd56af5c1f460307b340c1197 (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to ee933694645dac062d65fc2743f92bc06fa0db6b (excl.)
  • affected from dcbc919a5dc8c2629684a113a90c0b6fe10c3462 to 35d0ed82d03e5ee77ea4f31f20e29562a7721649 (excl.)
Vendor Linux
Product Linux
Versions Default: affected
  • Version 5.3 is affected
  • unaffected from 0 to 5.3 (excl.)
  • unaffected from 5.10.258 to 5.10.* (incl.)
  • unaffected from 5.15.209 to 5.15.* (incl.)
  • unaffected from 6.1.175 to 6.1.* (incl.)
  • unaffected from 6.6.141 to 6.6.* (incl.)
  • unaffected from 6.12.91 to 6.12.* (incl.)
  • unaffected from 6.18.33 to 6.18.* (incl.)
  • unaffected from 7.0.10 to 7.0.* (incl.)
  • unaffected from 7.1 to * (incl.)

References