Description
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_osd*sizeof(*map->osd_weight).
CVSS breakdown
CVSS 3.1
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
None
Availability
High
Affected products
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – 36a79759a288961b1ff28a68ec2d1f56f6848098
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – 3f2575bb7f955d42569d96c3e04fa958a0dcf4b4
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – 8713bbc4b2b9ad78f803978e54b7e49dd21bd9be
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – 0d2dd7e6bb74fd7712aa73457a4a821906c6863a
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – e7187f33c02488697ec0d01d82bf7a3f8deaba8f
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – 48df98d12b15360cd56af5c1f460307b340c1197
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – ee933694645dac062d65fc2743f92bc06fa0db6b
- Linux / Linuxdcbc919a5dc8c2629684a113a90c0b6fe10c3462 – 35d0ed82d03e5ee77ea4f31f20e29562a7721649
- Linux / Linux5.3 – 5.3
- Linux / Linux0 – 5.3
- Linux / Linux5.10.258 – 5.10.*
- Linux / Linux5.15.209 – 5.15.*
- Linux / Linux6.1.175 – 6.1.*
- Linux / Linux6.6.141 – 6.6.*
- Linux / Linux6.12.91 – 6.12.*
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/36a79759a288961b1ff28a68ec2d1f56f6848098
- MISChttps://git.kernel.org/stable/c/3f2575bb7f955d42569d96c3e04fa958a0dcf4b4
- MISChttps://git.kernel.org/stable/c/8713bbc4b2b9ad78f803978e54b7e49dd21bd9be
- MISChttps://git.kernel.org/stable/c/0d2dd7e6bb74fd7712aa73457a4a821906c6863a
- MISChttps://git.kernel.org/stable/c/e7187f33c02488697ec0d01d82bf7a3f8deaba8f
- MISChttps://git.kernel.org/stable/c/48df98d12b15360cd56af5c1f460307b340c1197
- MISChttps://git.kernel.org/stable/c/ee933694645dac062d65fc2743f92bc06fa0db6b
- MISChttps://git.kernel.org/stable/c/35d0ed82d03e5ee77ea4f31f20e29562a7721649