CVE-2026-52954

libceph: handle rbtree insertion error 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: handle rbtree insertion error in decode_choose_args()

A message of type CEPH_MSG_OSD_MAP contains an OSD map that itself contains a CRUSH map. The received CRUSH map may optionally contain choose_args that get decoded in decode_choose_args(). In this function, num_choose_arg_maps is read from the message, and a corresponding number of crush_choose_arg_maps gets decoded afterwards. Each crush_choose_arg_map has a choose_args_index, which serves as the key when inserting it into the choose_args rbtree of the decoded crush_map. If a (potentially corrupted) message contains two crush_choose_arg_maps with the same index, the assertion in insert_choose_arg_map() triggers a kernel BUG when trying to insert the second crush_choose_arg_map.

This patch fixes the issue by switching to the non-asserting rbtree insertion function and rejecting the message if the insertion fails.

[ idryomov: changelog ]

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

  • CWE-20 Improper Input Validation

Affected Products

ProductVersions
LinuxLinux
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before c7bf7864e2924fa5508ac270b0e9364bc13d5a6cAffected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before f47430fc1f815e87406e2d3b4e476eff1bc7fd9bAffected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before 0b6a3bcb91bc5bfeda39f0df3b71bab62c13e9daAffected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before 534ebc08df97c47d4c7596f336fa31ecbf91519cAffected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before 80c73bd1b2b04355d1d0c29be8ccbd25a380905dAffected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before 4d2b37abda9536808655830d683dc491d31741a8Affected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before 0a1265a9ab875f92b6a3ffb497404f46cf9d76a3Affected
  • 5cf9c4a9959b6273675310d14a834ef14fbca37c to before d289478cfc0bcf81c7914200d6abdcb78bd04dedAffected
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.