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.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
f24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 952ca5dc99913d169263f59fd689f586729a13c1affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 146461f09565afe3665e65b0423d3d6b0fe806c5affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 80fc40e11cda1b5d990a3f69c6efa344fb5cd987affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < b8a9fb6bf806f9c4891e71ae1beab0c07c23a877affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 826cd1de5802fd392922785f9b64d76e65d2a100affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 3b2f1937f5fce8b7dd5432e7693e3cc8b5eece56affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 70998f91030ee083ecb336a1dff0701c20a38081affectedf24e9980eb860d8600cbe5ef3d2fd9295320d229 to < 05f90284223381005d6bcddab3fda4a97f9c3401affected
Linux Linux
Default version status: affected
2.6.34affected0 to < 2.6.34unaffected5.10.265 to ≤ 5.10.*unaffected5.15.216 to ≤ 5.15.*unaffected6.1.183 to ≤ 6.1.*unaffected6.6.148 to ≤ 6.6.*unaffected6.12.101 to ≤ 6.12.*unaffected6.18.42 to ≤ 6.18.*unaffected7.1.6 to ≤ 7.1.*unaffected7.2 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/952ca5dc99913d169263f59fd689f586729a13c1 ↗
- https://git.kernel.org/stable/c/146461f09565afe3665e65b0423d3d6b0fe806c5 ↗
- https://git.kernel.org/stable/c/80fc40e11cda1b5d990a3f69c6efa344fb5cd987 ↗
- https://git.kernel.org/stable/c/b8a9fb6bf806f9c4891e71ae1beab0c07c23a877 ↗
- https://git.kernel.org/stable/c/826cd1de5802fd392922785f9b64d76e65d2a100 ↗
- https://git.kernel.org/stable/c/3b2f1937f5fce8b7dd5432e7693e3cc8b5eece56 ↗
- https://git.kernel.org/stable/c/70998f91030ee083ecb336a1dff0701c20a38081 ↗
- https://git.kernel.org/stable/c/05f90284223381005d6bcddab3fda4a97f9c3401 ↗