VulnTideExploited vulnerabilities, by vendor. Data as of .
Not in CISA KEVPublished CVSS 9.8 criticalEPSS 0.5% probability of exploitation in 30 days
Linux

CVE-2026-68082: libceph: fix two unsafe bare decodes in decode_lockers()

Is it exploited?

Not on CISA's list. CISA has not added it to the Known Exploited Vulnerabilities catalog as of . If CISA adds it, this page shows it as known exploited.

How likely is exploitation in the next 30 days?
0.5%

Up from 0.4% on .

EPSS score, percentile 42.7 of all scored records. A probability estimated by FIRST, not a report of exploitation.

How severe?
9.8 Critical

CVSS v3.1 base score, given by the CNA

What should I do?

CISA has set no required action, because the vulnerability is not in KEV.

The CVE record links no vendor advisory, patch or mitigation.

Which versions are affected?

Affected

  • 4.9

Unaffected before 4.9; 5.10.266; 5.15.217; 6.1.184; 6.6.153; 6.12.105; and 3 more

Versions by product

Source: CISA KEV 2026.10.28, as of ; FIRST EPSS, as of ; CVE List, as of . About the data.

What to do

Advisories and patches

The CVE record links no vendor advisory, patch or mitigation.

This summary is based on the CVE record as of . Check the vendor's advisory before you act: affected versions and fixes can change.

Affected products and versions

As listed in the CVE record.

Linux Linux
StatusVersions
Affectedfrom d4ed4a530562 to before c8ade01170a2
Affectedfrom d4ed4a530562 to before 001835c59989
Affectedfrom d4ed4a530562 to before 7c422364acd9
Affectedfrom d4ed4a530562 to before 02430f6f729b
Affectedfrom d4ed4a530562 to before 57ba829804fe
Affectedfrom d4ed4a530562 to before 89df5d71f83f
Affectedfrom d4ed4a530562 to before a54be593d0b7
Affectedfrom d4ed4a530562 to before a109a5561152

Versions not listed are: unaffected.

Linux Linux
StatusVersions
Affected4.9
Unaffectedbefore 4.9
Unaffected5.10.266
Unaffected5.15.217
Unaffected6.1.184
Unaffected6.6.153
Unaffected6.12.105
Unaffected6.18.46
Unaffected7.1.6
Unaffected7.2

Versions not listed are: affected.

Versions the record lists as unaffected: 5.10.266, 5.15.217, 6.1.184, 6.6.153, 6.12.105, 6.18.46, 7.1.6, 7.2.

Source: CVE List, as of . About the data.

About this vulnerability

In the Linux kernel, the following vulnerability has been resolved: libceph: fix two unsafe bare decodes in decode_lockers() decode_lockers() in cls_lock_client.c contains two bare decode operations that allow a malicious or compromised OSD to trigger slab-out-of-bounds reads: 1. ceph_decode_32(p) at the num_lockers field has no preceding bounds check. ceph_start_decoding() accepts struct_l…

Summary: CVE record, as of .

  • CISA has not added CVE-2026-68082 to its Known Exploited Vulnerabilities (KEV) catalog, as of 28 Oct 2026.
  • The CVE record was published on 8 Aug 2026.
  • The CVE record carries a CVSS v3.1 base score of 9.8 (Critical), given by its CNA.
  • FIRST's EPSS model puts the probability of exploitation in the next 30 days at 0.5% (percentile 42.7), as of 29 Oct 2026. EPSS is a statistical estimate, not a report of exploitation.
  • CISA's SSVC assessment in the CVE record: exploitation none, automatable yes, technical impact total.

Source: CISA KEV 2026.10.28, as of ; CVE List, as of ; FIRST EPSS, as of . About the data.

Description

libceph: fix two unsafe bare decodes in decode_lockers()

In the Linux kernel, the following vulnerability has been resolved: libceph: fix two unsafe bare decodes in decode_lockers() decode_lockers() in cls_lock_client.c contains two bare decode operations that allow a malicious or compromised OSD to trigger slab-out-of-bounds reads: 1. ceph_decode_32(p) at the num_lockers field has no preceding bounds check. ceph_start_decoding() accepts struct_len=0 as valid -- the internal ceph_decode_need(p, end, 0, bad) always passes -- so when an OSD sends struct_len=0, ceph_start_decoding() returns success with p == end. The immediately following bare ceph_decode_32(p) then reads 4 bytes past the validated buffer boundary. The garbage value is passed directly to kzalloc_objs() as the locker count. The sibling function decode_watchers() in osd_client.c already uses ceph_decode_32_safe() after its own ceph_start_decoding() call. decode_lockers() was the only site using the bare variant. 2. ceph_decode_8(p) after the decode_locker() loop has no preceding bounds check. If an OSD crafts num_lockers such that the loop advances p exactly to end, the subsequent bare ceph_decode_8(p) reads one byte past the validated buffer boundary. The result is passed directly into *type, which is used as a lock type discriminator by callers, giving an OSD-controlled one-byte OOB read with direct influence over the lock type field. Fix both by replacing bare operations with their safe variants: ceph_decode_32(p) -> ceph_decode_32_safe(p, end, *num_lockers, err_inval) ceph_decode_8(p) -> ceph_decode_8_safe(p, end, *type, err_free_lockers) The goto targets differ intentionally: err_inval: is a new label returning -EINVAL directly. It is used for the pre-allocation failure path where *lockers is not yet allocated and must not be passed to ceph_free_lockers(). err_free_lockers: is the existing label. It is used for the post-allocation failure path where *lockers is allocated and must be freed. ret is set to -EINVAL before ceph_decode_8_safe() so that err_free_lockers returns the correct error code on bounds violation. Without this, err_free_lockers would return a stale ret value (0 from the successful decode_locker() loop), silently swallowing the error. -EINVAL is correct for both failure paths. The data received from the OSD is structurally malformed. -ENOMEM would misrepresent the failure class to callers and to stable@ backporters triaging error paths. 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). [ idryomov: trim changelog, formatting ]

Source: CVE List, as of . About the data.

Weakness

CWE-125

CWE and CAPEC are maintained by MITRE; the entries are those named in the CVE record.

Timeline

DateEvent
CVE record published
CVE record last updated

References

8

Known exploited Linux vulnerabilities

  • CVE-2026-46300: Linux Kernel Missing Initialization of a Variable Vulnerability (added )
  • CVE-2025-39682: Linux Kernel Improper Check for Unusual or Exceptional Conditions Vulnerability (added )
  • CVE-2025-39964: Linux Kernel Race Condition Vulnerability (added )
  • CVE-2026-53266: Linux Kernel Out-of-Bounds Write Vulnerability (added )
  • CVE-2026-53362: Linux Kernel Unspecified Vulnerability (added )