Activity log
- Created & dismissed (max. allowed matches exceeded) suggestion
libceph: Fix potential out-of-bounds access in osdmap_decode()
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).
References
Affected products
- =<6.1.*
- =<5.15.*
- =<6.18.*
- <ee933694645dac062d65fc2743f92bc06fa0db6b
- <48df98d12b15360cd56af5c1f460307b340c1197
- =<6.12.*
- =<7.0.*
- <35d0ed82d03e5ee77ea4f31f20e29562a7721649
- <5.3
- <8713bbc4b2b9ad78f803978e54b7e49dd21bd9be
- =<*
- <36a79759a288961b1ff28a68ec2d1f56f6848098
- <3f2575bb7f955d42569d96c3e04fa958a0dcf4b4
- <0d2dd7e6bb74fd7712aa73457a4a821906c6863a
- ==5.3
- =<5.10.*
- <e7187f33c02488697ec0d01d82bf7a3f8deaba8f
- =<6.6.*