Critical severity · published Aug 26, 2026
CVE-2026-80558
libceph: Avoid using invalid osd indices from primary_temp
9.8
CVSS
0.5%
EPSS
No
On KEV
Description
In the Linux kernel, the following vulnerability has been resolved:
libceph: Avoid using invalid osd indices from primary_temp
A corrupted osdmap received from a Ceph monitor or OSD may contain osd
indices in its pg_temp, primary_temp, pg_upmap, and pg_upmap_items parts
that don't exist, i.e., that are greater than max_osd or smaller than
CEPH_HOMELESS_OSD (-1). These indices are used to create the up and
acting set in ceph_pg_to_up_acting_osds(), called from calc_target().
While most of these osd indices are checked, the one from primary_temp
is not. Subsequently, this may lead to calc_target() returning this
(potentially invalid) index as target osd for a (linger) request.
Because the osd_state, osd_weight, and osd_addr arrays only contain
max_osd entries (with indices 0 to max_osd -1), this leads to
out-of-bounds accesses when trying to read values from these arrays.
This patch fixes the issue by adding a check to get_temp_osds(), so that
only valid osd indices from primary_temp are used, and it falls back to
using the primary from pg_temp or the up set if it is invalid.
[ idryomov: changelog ]
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Attack vector
Network
Complexity
Low
Privileges
None
User interaction
None
Confidentiality
High
Integrity
High
Availability
High
Scope
Unchanged
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 44% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
LI
Linux · Linux
5e8d4d36bf23bb7baf027c479d54395840219928 before 505fc50b8ff8e687b7e3ef6866269dea27366224; 5e8d4d36bf23bb7baf027c479d54395840219928 before 1c705fe8e59c6b16f48964973fb23c8ec4735b73; 5e8d4d36bf23bb7baf027c479d54395840219928 before dfe1877d351b99eb1b1a62a3fc2d174220e88e20; 5e8d4d36bf23bb7baf027c479d54395840219928 before e2ffeec85201b2bb748e99e12539ee1b92f62796; 5e8d4d36bf23bb7baf027c479d54395840219928 before 6799d4a916ffcb3d450d8440f9fe0f0862f768d6; 5e8d4d36bf23bb7baf027c479d54395840219928 before 4f392fec075562dc93bb0c69f37423ca2af9b48f; +3 more · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-80558
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-80558
git.kernel.org
https://git.kernel.org/stable/c/1c705fe8e59c6b16f48964973fb23c8ec4735b73
git.kernel.org
https://git.kernel.org/stable/c/3660b98d1204b419f6a77e9a295f148dcf38d042
git.kernel.org
https://git.kernel.org/stable/c/4f392fec075562dc93bb0c69f37423ca2af9b48f
git.kernel.org
https://git.kernel.org/stable/c/505fc50b8ff8e687b7e3ef6866269dea27366224
git.kernel.org
https://git.kernel.org/stable/c/6799d4a916ffcb3d450d8440f9fe0f0862f768d6
git.kernel.org
https://git.kernel.org/stable/c/dfe1877d351b99eb1b1a62a3fc2d174220e88e20
More from Linux
9.8
CVE-2025-39682
tls: fix handling of zero-length records on the rx_list
8.8
CVE-2026-53266
netfilter: bridge: make ebt_snat ARP rewrite writable
7.8
CVE-2026-53362
ipv6: account for fraggap on the paged allocation path
7.8
CVE-2026-31431
crypto: algif_aead - Revert to operating out-of-place
7.8
CVE-2025-38352
posix-cpu-timers: fix race between handle_posix_cpu_timers() and posix_cpu_timer_del()
