← All Advisories
Reported from OT-Advisories.com as of

CVE-2026-74388

Last refreshed2026-10-17

Status: UPDATED  |  Advisory ID: CVE-2026-74388

Key Details

CVECVE-2026-74388
CVSS Score / Version
7.8 (High) / CVSS v3.1
Updated2026-10-16
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Prose
attack vector is local; attack complexity is low; privileges required is low; user interaction is none; scope is unchanged; confidentiality impact is high; integrity impact is high; availability impact is high.
Affected products
Linux Kernel

Affected Products, Subsystems & Sectors

VendorProductAffected VersionsPatch Status
LinuxLinux Kernel
SubsystemsOT Supporting Infrastructure
SectorsAll Sectors

What to Know

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

ALSA: seq: oss: Fix UAF at handling events with embedded SysEx data

The OSS sequencer processes the input MIDI bytes into a sequencer

event to be dispatched later (in snd_seq_oss_midi_putc() called from

snd_seq_oss_process_event()). When it's a SysEx data, the event

record contains data.ext.ptr pointer to the original SysEx bytes, and

the referred data is copied into the pool afterwards at dispatching.

The problem is that, if the sequencer port gets closed concurrently

before the dispatch, the OSS sequencer core also releases the

resources (in snd_seq_oss_midi_check_exit_port()), while the pending

event may hold a stale pointer, eventually leading to a UAF at a later

dispatch.

Fortunately, there is already a refcounting mechanism (snd_use_lock_t)

for the OSS MIDI device access, and for addressing the issue above, we

just need to extend the refcount until the event gets dispatched.

This patch extends snd_seq_oss_process_event() to give back the

refcount object, which is in turn released after calling the sequencer

dispatcher with the given event in the caller side.

According to the original report, KASAN report as below:

KASAN slab-use-after-free in snd_seq_event_dup+0x40c/0x470

RIP: 0033:0x7f2cb66a6340

Read of size 6

Call trace:

dump_stack_lvl+0x73/0xb0 (?:?)

print_report+0xd1/0x650 (?:?)

srso_alias_return_thunk+0x5/0xfbef5 (?:?)

__virt_addr_valid+0x1a7/0x340 (?:?)

kasan_complete_mode_report_info+0x64/0x200 (?:?)

kasan_report+0xf7/0x130 (?:?)

snd_seq_event_dup+0x40c/0x470 (?:?)

kasan_check_range+0x10c/0x1c0 (?:?)

__asan_memcpy+0x27/0x70 (?:?)

snd_seq_event_dup+0x9/0x470 (?:?)

snd_seq_client_enqueue_event+0x139/0x240 (?:?)

_raw_spin_unlock_irqrestore+0x4b/0x60 (?:?)

snd_seq_kernel_client_enqueue+0x102/0x120 (?:?)

snd_seq_oss_write+0x416/0x4e0 (?:?)

apparmor_file_permission+0x20/0x30 (?:?)

odev_write+0x3b/0x60 (?:?)

vfs_write+0x1ce/0x850 (?:?)

lock_release+0xc8/0x2a0 (?:?)

__kasan_check_write+0x18/0x20 (?:?)

__mutex_unlock_slowpath+0x129/0x510 (?:?)

ksys_write+0xe1/0x180 (?:?)

mutex_unlock+0x16/0x20 (?:?)

odev_ioctl+0x65/0xc0 (?:?)

__x64_sys_write+0x46/0x60 (?:?)

x64_sys_call+0x7d/0x20d0 (?:?)

do_syscall_64+0xc1/0x360 (arch/x86/entry/syscall_64.c:87)

entry_SYSCALL_64_after_hwframe+0x77/0x7f (?:?) (NVD)

What to Do

Monitor Linux's web page for any future patch releases.

References

SourceReference
NVDhttps://nvd.nist.gov/vuln/detail/CVE-2026-74388
CVEhttps://www.cve.org/CVERecord?id=CVE-2026-74388
Report compilation © 2026 OT-Advisories.com  ·  CC BY 4.0  ·  Source materials remain the property of their respective publishers as cited.