CVE-2026-68159CWE-121

CVE-2026-68159

Critical · published August 10, 2026

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

In the Linux kernel, the following vulnerability has been resolved:

libceph: bound pg_{temp,upmap,upmap_items} length to CEPH_PG_MAX_SIZE

__decode_pg_temp() decodes an user-controlled length but only rejects

values large enough to overflow the allocation; it does not bound it to

CEPH_PG_MAX_SIZE. The helper backs both pg_temp and pg_upmap decoding, and

apply_upmap()/get_temp_osds() later copy the decoded list into the fixed-size

on-stack array struct ceph_osds.osds[CEPH_PG_MAX_SIZE]. A monitor that sends

an OSDMap with a pg_temp/pg_upmap entry longer than 32 thus causes a stack

out-of-bounds write.

An OSD set for a single PG can never exceed CEPH_PG_MAX_SIZE, so reject longer

entries at decode time. The bound is well below the old overflow threshold, so

it also covers the allocation-size overflow the previous check guarded against.

BUG: KASAN: stack-out-of-bounds in ceph_pg_to_up_acting_osds

Write of size 4 ... by task exploit

kasan_report (mm/kasan/report.c:595)

ceph_pg_to_up_acting_osds (net/ceph/osdmap.c:2617 net/ceph/osdmap.c:2833)

calc_target (net/ceph/osd_client.c:1638)

__submit_request (net/ceph/osd_client.c:2394)

ceph_osdc_start_request (net/ceph/osd_client.c:2490)

ceph_osdc_call (net/ceph/osd_client.c:5164)

rbd_dev_image_probe (drivers/block/rbd.c:6899)

do_rbd_add (drivers/block/rbd.c:7138)

...

kernel BUG at net/ceph/osdmap.c:2670!

[ idryomov: do the same in __decode_pg_upmap_items() ]

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.00745 · 54.3th percentile
Weakness
CWE-121 · Stack-based Buffer Overflow
Published
2026-08-10T17:20Z
References (8)
EPSS history
Timeline
  • 10 AUG 11:59Z
    libceph: bound pg_{temp,upmap,upmap_items} length to CEPH_PG_MAX_SIZE
    cvelistv5