CVE-2026-68154Critical memory corruption in Linux kernel (libceph)
In the Linux kernel, the following vulnerability has been resolved: libceph: reject zero bucket types in crush_decode CRUSH bucket type 0 is reserved for devices. The mapper relies on that invariant and uses type 0 to identify leaf devices. If crush_decode() accepts a bucket with type 0, a malformed CRUSH map can make the mapper treat a negative bucket ID as a device and pass it to is_out(), which then indexes the OSD weight array with a negative value. Reject zero bucket types while decoding the CRUSH map so the invalid state never reaches the mapper.
View on NVDAnalysis
A critical vulnerability has been identified in the Linux kernel's libceph module. An attacker or compromised storage monitor could provide a malformed CRUSH map that triggers an out-of-bounds memory access, potentially leading to system exploitation or crashes.
Relevant roles
Severity
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HEPSS
Technical description
In the Linux kernel, the following vulnerability has been resolved: libceph: reject zero bucket types in crush_decode CRUSH bucket type 0 is reserved for devices. The mapper relies on that invariant and uses type 0 to identify leaf devices. If crush_decode() accepts a bucket with type 0, a malformed CRUSH map can make the mapper treat a negative bucket ID as a device and pass it to is_out(), which then indexes the OSD weight array with a negative value. Reject zero bucket types while decoding the CRUSH map so the invalid state never reaches the mapper.
References
- https://git.kernel.org/stable/c/05f90284223381005d6bcddab3fda4a97f9c3401
- https://git.kernel.org/stable/c/3b2f1937f5fce8b7dd5432e7693e3cc8b5eece56
- https://git.kernel.org/stable/c/70998f91030ee083ecb336a1dff0701c20a38081
- https://git.kernel.org/stable/c/826cd1de5802fd392922785f9b64d76e65d2a100
- https://git.kernel.org/stable/c/b8a9fb6bf806f9c4891e71ae1beab0c07c23a877