libceph: Fix potential out-of-bounds access in osdmap_decode()
- 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.258, 5.15.209, 6.1.175, 6.6.141, 6.12.91, and 2 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: yes
- Technical impact: partial
Summary
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).
Timeline
- CVE published
- CISA SSVC assessment
Exploitation: none · Automatable: yes · Technical impact: partial
- Record last updated
Affected versions
- Linux Linux
From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in 36a79759a288961b1ff28a68ec2d1f56f6848098; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in 3f2575bb7f955d42569d96c3e04fa958a0dcf4b4; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in 8713bbc4b2b9ad78f803978e54b7e49dd21bd9be; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in 0d2dd7e6bb74fd7712aa73457a4a821906c6863a; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in e7187f33c02488697ec0d01d82bf7a3f8deaba8f; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in 48df98d12b15360cd56af5c1f460307b340c1197; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in ee933694645dac062d65fc2743f92bc06fa0db6b; From dcbc919a5dc8c2629684a113a90c0b6fe10c3462 · fixed in 35d0ed82d03e5ee77ea4f31f20e29562a7721649
- Linux Linux
5.3
- KernelLinux
From 5.3.0 · fixed in 5.10.258; From 5.11.0 · fixed in 5.15.209; From 5.16.0 · fixed in 6.1.175; From 6.2.0 · fixed in 6.6.141; From 6.7.0 · fixed in 6.12.91; From 6.13.0 · fixed in 6.18.33; From 6.19.0 · fixed in 7.0.10
References 8
git.kernel.org
- stable/c/36a79759a288961b1ff28a68ec2d1f56f6848098
- stable/c/3f2575bb7f955d42569d96c3e04fa958a0dcf4b4
- stable/c/8713bbc4b2b9ad78f803978e54b7e49dd21bd9be
- stable/c/0d2dd7e6bb74fd7712aa73457a4a821906c6863a
- stable/c/e7187f33c02488697ec0d01d82bf7a3f8deaba8f
- stable/c/48df98d12b15360cd56af5c1f460307b340c1197
- stable/c/ee933694645dac062d65fc2743f92bc06fa0db6b
- stable/c/35d0ed82d03e5ee77ea4f31f20e29562a7721649