CVE-2026-80558

CVE-2026-80558

Critical · published August 26, 2026

CVSS v3.1
9.8
EPSS
1%
Percentile
42.9
In the wild
Unconfirmed
What it is

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 ]

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00514 · 42.9th percentile
Published
2026-08-26T19:17Z
References (8)
EPSS history
Timeline
  • 28 AUG 06:54Z
    EPSS moved — → 1%
    epss
  • 26 AUG 14:37Z
    libceph: Avoid using invalid osd indices from primary_temp
    cvelistv5