libceph: make decode_pool() more resilient against corrupted osdmaps
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 5.10.248, 5.15.198, 6.1.160, 6.6.120, 6.12.64, and 1 more
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
- Exploitation: none
- Automatable: no
- Technical impact: partial
Summary
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.
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: no · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in d061be4c8040ffb1110d537654a038b8b6ad39d2; From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in 145d140abda80e33331c5781d6603014fa75d258; From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in c82e39ff67353a5a6cbc07b786b8690bd2c45aaa; From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in e927ab132b87ba3f076705fc2684d94b24201ed1; From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in 5d0d8c292531fe356c4e94dcfdf7d7212aca9957; From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in 2acb8517429ab42146c6c0ac1daed1f03d2fd125; From 4f6a7e5ee1393ec4b243b39dac9f36992d161540 · fixed in 8c738512714e8c0aa18f8a10c072d5b01c83db39
- Linux Linux
3.9
- KernelLinux
From 3.9.0 · fixed in 5.10.248; From 5.11.0 · fixed in 5.15.198; From 5.16.0 · fixed in 6.1.160; From 6.2.0 · fixed in 6.6.120; From 6.7.0 · fixed in 6.12.64; From 6.13.0 · fixed in 6.18.3
References 7
git.kernel.org
- stable/c/d061be4c8040ffb1110d537654a038b8b6ad39d2
- stable/c/145d140abda80e33331c5781d6603014fa75d258
- stable/c/c82e39ff67353a5a6cbc07b786b8690bd2c45aaa
- stable/c/e927ab132b87ba3f076705fc2684d94b24201ed1
- stable/c/5d0d8c292531fe356c4e94dcfdf7d7212aca9957
- stable/c/2acb8517429ab42146c6c0ac1daed1f03d2fd125
- stable/c/8c738512714e8c0aa18f8a10c072d5b01c83db39