CVE-2026-80558
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/08/2026
Last modified:
26/08/2026
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
libceph: Avoid using invalid osd indices from primary_temp<br />
<br />
A corrupted osdmap received from a Ceph monitor or OSD may contain osd<br />
indices in its pg_temp, primary_temp, pg_upmap, and pg_upmap_items parts<br />
that don&#39;t exist, i.e., that are greater than max_osd or smaller than<br />
CEPH_HOMELESS_OSD (-1). These indices are used to create the up and<br />
acting set in ceph_pg_to_up_acting_osds(), called from calc_target().<br />
While most of these osd indices are checked, the one from primary_temp<br />
is not. Subsequently, this may lead to calc_target() returning this<br />
(potentially invalid) index as target osd for a (linger) request.<br />
Because the osd_state, osd_weight, and osd_addr arrays only contain<br />
max_osd entries (with indices 0 to max_osd -1), this leads to<br />
out-of-bounds accesses when trying to read values from these arrays.<br />
<br />
This patch fixes the issue by adding a check to get_temp_osds(), so that<br />
only valid osd indices from primary_temp are used, and it falls back to<br />
using the primary from pg_temp or the up set if it is invalid.<br />
<br />
[ idryomov: changelog ]
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/1c705fe8e59c6b16f48964973fb23c8ec4735b73
- https://git.kernel.org/stable/c/3660b98d1204b419f6a77e9a295f148dcf38d042
- https://git.kernel.org/stable/c/4f392fec075562dc93bb0c69f37423ca2af9b48f
- https://git.kernel.org/stable/c/505fc50b8ff8e687b7e3ef6866269dea27366224
- https://git.kernel.org/stable/c/6799d4a916ffcb3d450d8440f9fe0f0862f768d6
- https://git.kernel.org/stable/c/dfe1877d351b99eb1b1a62a3fc2d174220e88e20
- https://git.kernel.org/stable/c/e009c5f0ad634c62f5c48a41f1f3c019ecf52555
- https://git.kernel.org/stable/c/e2ffeec85201b2bb748e99e12539ee1b92f62796



