libceph: make decode_pool() more resilient against corrupted osdmaps
3Vexday Risk Score
No sign of exploitation. No public exploitation artifact known so far.
ssvc Trackepss 0.1%
exploitation probability
0.1%top 97% of all CVEs
observed exploitation
nono source reports it
In the Linux kernel, the following vulnerability has been resolved:
libceph: make decode_pool() more resilient against corrupted osdmaps
If the osdmap is (maliciously) corrupted such that the encoded length
of ceph_pg_pool envelope is less than what is expected for a particular
encoding version, out-of-bounds reads may ensue because the only bounds
check that is there is based on that length value.
This patch adds explicit bounds checks for each field that is decoded
or skipped.
Affected products
Linux · LinuxReferences
https://git.kernel.org/stable/c/145d140abda80e33331c5781d6603014fa75d258https://git.kernel.org/stable/c/2acb8517429ab42146c6c0ac1daed1f03d2fd125https://git.kernel.org/stable/c/5d0d8c292531fe356c4e94dcfdf7d7212aca9957https://git.kernel.org/stable/c/8c738512714e8c0aa18f8a10c072d5b01c83db39https://git.kernel.org/stable/c/c82e39ff67353a5a6cbc07b786b8690bd2c45aaahttps://git.kernel.org/stable/c/d061be4c8040ffb1110d537654a038b8b6ad39d2https://git.kernel.org/stable/c/e927ab132b87ba3f076705fc2684d94b24201ed1