9.8

CVE-2026-89495

ocfs2: bound namelen in dlm_migrate_request_handler

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

ocfs2: bound namelen in dlm_migrate_request_handler

Patch series "ocfs2/dlm: bound peer-controlled lengths in the o2dlm".

The o2dlm receive handlers trust u8 length and count fields from the wire
without bounding them, so a node in a DLM domain can corrupt or panic any
other node with a malformed message.  Three defects:

  - dlm_migrate_request_handler() passes migrate->namelen unchecked to
    dlm_init_mle(), which memcpy()s it into the 32-byte mname[] of an
    o2dlm_mle slab object: a heap out-of-bounds write of up to ~215
    attacker-controlled bytes.

  - dlm_mig_lockres_handler() passes mres->lockname_len unchecked to
    dlm_init_lockres(), which memcpy()s it into the 32-byte o2dlm_lockname
    slab object: a heap out-of-bounds write of up to ~223 bytes.

  - the same handler trusts mres->num_locks without checking that the
    message is large enough to hold that many entries, so
    dlm_process_recovery_data() walks mres->ml[] past the kmalloc(data_len)
    copy and trips a BUG_ON (an out-of-bounds read ending in a panic).

The other o2dlm receive handlers already reject an oversized name; the
migration and recovery handlers have omitted it since the DLM was added
(see the Fixes tags).  Patch 1 bounds namelen; patch 2 validates
lockname_len, num_locks, and the payload size.  Conforming recovery and
migration traffic is unaffected.

o2net authenticates peers only by the DLM domain key, so any node that has
joined the domain -- including a compromised or malicious member -- can
send these messages.  There is no local trigger; the attacker must already
be a member of the cluster.

Each sink was confirmed under KASAN with an out-of-tree module mirroring
it exactly -- a kmem_cache/kmalloc of the real destination size, then the
same unclamped memcpy/loop: slab-out-of-bounds Write for the two writes,
Read for the recovery walk, and a panic.  A userspace AddressSanitizer
build faults identically under -m32 and -m64.  Scrubbed logs are available
on request.

I reported this privately to security@kernel.org and the ocfs2 maintainers
on 2026-06-20; with no response after the standard embargo period I am
posting the fix publicly.  I have no embargo requirement.


This patch (of 2):

A node receiving a DLM_MIGRATE_REQUEST message trusts the peer-supplied
name length (migrate->namelen) without bounding it.  dlm_init_mle() then
copies that many bytes into the fixed DLM_LOCKID_NAME_MAX-byte mname[]
array of an o2dlm_mle slab object, so a malformed message from a cluster
peer overflows the slab object by up to ~215 bytes: a heap out-of-bounds
write of attacker-controlled data, reachable by any node in the domain.

Reject an oversized name, the way dlm_master_request_handler() and the
other o2dlm receive handlers already do; the migration handler omits the
check entirely.  Conforming messages are unaffected.
Daten sind bereitgestellt durch das CVE Programm von einer CVE Numbering Authority (CNA) (Unstrukturiert).
HerstellerLinux
≫
Produkt Linux
Default Statusunaffected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < e1288865b8ceac0dcd1009ecba43de961f13d5bd
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < aabc5d8388e6f8826345f0073455dbcaaaa6491d
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < 006c96ea488eca2ef5155ec76038e0a4dbf65f0a
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < 24989909d3413b44b104102caa6661b1e424ba0f
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < f8658ee3327f73bd81c0bcd07cdeb5a8527fac98
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < de10cd3b062a5235af754925fcf49beb5a1109d4
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < 2487bea2098322669f0563baff53e797486b823f
Status affected
Version 6714d8e86bf443f6f7af50f9d432025649f091f5
Version < ea5b5609305a8437bc955a0834a530c12246d78f
Status affected
HerstellerLinux
≫
Produkt Linux
Default Statusaffected
Version 2.6.16
Status affected
Version 0
Version < 2.6.16
Status unaffected
Version <= 5.10.*
Version 5.10.270
Status unaffected
Version <= 5.15.*
Version 5.15.221
Status unaffected
Version <= 6.1.*
Version 6.1.188
Status unaffected
Version <= 6.6.*
Version 6.6.157
Status unaffected
Version <= 6.12.*
Version 6.12.109
Status unaffected
Version <= 6.18.*
Version 6.18.50
Status unaffected
Version <= 7.2.*
Version 7.2.4
Status unaffected
Version <= *
Version 7.3-rc1
Status unaffected
VulnDex Vulnerability Enrichment
Diese Information steht angemeldeten Benutzern zur Verfügung. Login Login
Zu dieser CVE wurde keine Warnung gefunden.
EPSS Metriken
Typ Quelle Score Percentile
EPSS FIRST.org 0.63% 0.481
CVSS Metriken
Quelle Base Score Exploit Score Impact Score Vector String
416baaa9-dc9f-4396-8d5f-8c081fb06d67 9.8 3.9 5.9
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Es wurden noch keine Informationen zu CWE veröffentlicht.
https://git.kernel.org/stable/c/f8658ee3327f73bd81c0bcd07cdeb5a8527fac98
https://git.kernel.org/stable/c/de10cd3b062a5235af754925fcf49beb5a1109d4
https://git.kernel.org/stable/c/2487bea2098322669f0563baff53e797486b823f
https://git.kernel.org/stable/c/ea5b5609305a8437bc955a0834a530c12246d78f
https://git.kernel.org/stable/c/006c96ea488eca2ef5155ec76038e0a4dbf65f0a
https://git.kernel.org/stable/c/24989909d3413b44b104102caa6661b1e424ba0f
https://git.kernel.org/stable/c/aabc5d8388e6f8826345f0073455dbcaaaa6491d
https://git.kernel.org/stable/c/e1288865b8ceac0dcd1009ecba43de961f13d5bd