CVE-2026-80561 in the critical feed json
libceph: fix multiple unsafe decodes in decode_locker()
published 2026-08-26 2 mo ago modified 2026-10-16 23 d ago also EUVD-2026-66476
- cvss
- 9.8
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
libceph: fix multiple unsafe decodes in decode_locker()
decode_locker() in cls_lock_client.c contains three unsafe decode operations that allow a malicious or compromised OSD to trigger slab-out-of-bounds reads:
1. ceph_decode_copy() at the locker_id_t name field has no preceding bounds check. With p == end after ceph_start_decoding() accepts struct_len=0, this reads sizeof(ceph_entity_name) = 9 bytes past the validated buffer boundary.
2. *p += sizeof(struct ceph_timespec) after the locker_info_t header is an unchecked pointer advance. A malicious OSD can position p past end, causing all subsequent _safe checks to pass against a bogus boundary.
3. len = ceph_decode_32(p) has no preceding bounds check, and the immediately following *p += len is uncapped. A malicious OSD can send len=0xffffffff, advancing p gigabytes past end and escaping the decode window entirely.
Fix all three by replacing bare operations with their safe variants: ceph_decode_copy -> ceph_decode_copy_safe *p += sizeof(...) -> ceph_decode_skip_n ceph_decode_32(p) -> ceph_decode_32_safe *p += len -> ceph_decode_skip_n
A new label is added to return -EINVAL on any bounds violation. -EINVAL is appropriate here: the data received from the OSD is structurally malformed, which is an invalid argument to the decode contract regardless of whether the caller or the wire is at fault.
Attacker model: a malicious or compromised OSD in a multi-tenant Ceph deployment can trigger this against any kernel client that issues the lock.get_info class method (e.g. during RBD exclusive lock acquisition) without any further privileges beyond OSD session establishment.
[ idryomov: use ceph_decode_skip_string() to skip description, trim changelog ]
Patch / fix
- Linux Linux 5.10.266, 5.15.217, 6.1.184, 6.6.153, 6.12.105, 6.18.46, 7.1.10, 7.2
- linux Debian 12 6.1.187-1
- linux Debian 13 6.12.105-1
- linux Debian 14 7.1.10-1
- linux-6.12 Debian 12 6.12.107-1~deb12u1
debian advisories DEBIAN-CVE-2026-80561
- linux Ubuntu 22.04 LTS 5.15.0-202.212
- linux Ubuntu 26.04 LTS 7.0.0-42.42
- linux-aws Ubuntu 22.04 LTS 5.15.0-1119.126
- linux-aws Ubuntu 26.04 LTS 7.0.0-1016.17
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1120.130
- linux-gcp Ubuntu 26.04 LTS 7.0.0-1016.18
- linux-gke Ubuntu 22.04 LTS 5.15.0-1115.121
- linux-ibm Ubuntu 22.04 LTS 5.15.0-1113.117
ubuntu advisories UBUNTU-CVE-2026-80561
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.2 6.12.0-160000.38.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.38.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1.160000.2.23
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.38.1
- kernel-azure SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.38.1
- kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.38.1
suse advisories SUSE-SU-2026:4687-1SUSE-SU-2026:23887-1SUSE-SU-2026:23902-1SUSE-SU-2026:23897-1SUSE-SU-2026:23881-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.38.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-azure openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.38.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.38.1
opensuse advisories openSUSE-SU-2026:21910-1
- git.kernel.org/stable/c/1ed45c8d96498725eb54f740172f9068d8673906 commit
- git.kernel.org/stable/c/6265103e78f0ee7e2518de9cf938b94bee9700a0 commit
- git.kernel.org/stable/c/3c3716dc06a34e4ca7f743f5fcfa07fbc5a11070 commit
- git.kernel.org/stable/c/fa4aa86fff0c56799c2e3f51a88879053285f4a9 commit
- git.kernel.org/stable/c/dbfd83f722a78446ec18a476ef7a38e52240b50a commit
- git.kernel.org/stable/c/d1bba38574d095f191557d397d9633f08cd966b1 commit
- git.kernel.org/stable/c/51c8d238fe7236de627ab1a1433694552a904136 commit
- git.kernel.org/stable/c/437b6551cfcc235eea1d735a874f9d421f555e17 commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-80561 updated cvss 6.5
kernel: libceph: fix multiple unsafe decodes in decode_locker()
-
Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 more Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 23 d ago
Exploit prediction
0.51% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.8 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
Classification
- Technology feeds
References
- git.kernel.org /stable/c/1ed45c8d96498725eb54f740172f9068d8673906
- git.kernel.org /stable/c/6265103e78f0ee7e2518de9cf938b94bee9700a0
- git.kernel.org /stable/c/3c3716dc06a34e4ca7f743f5fcfa07fbc5a11070
- git.kernel.org /stable/c/fa4aa86fff0c56799c2e3f51a88879053285f4a9
- git.kernel.org /stable/c/dbfd83f722a78446ec18a476ef7a38e52240b50a
- git.kernel.org /stable/c/d1bba38574d095f191557d397d9633f08cd966b1
- git.kernel.org /stable/c/51c8d238fe7236de627ab1a1433694552a904136
- git.kernel.org /stable/c/437b6551cfcc235eea1d735a874f9d421f555e17
Sources
- CVE List CVE-2026-80561
- NVD CVE-2026-80561
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.