---
id: "CVE-2026-98912"
kind: "vulnerability"
aliases: ["CVE-2026-98912"]
title: "Linux kernel ALSA sequencer OSS read check copies events incorrectly"
severity: "unknown"
cvss: null
epss: 0.00215
exploited: false
status: "open"
category: "infrastructure"
products: []
ecosystems: []
tags: ["alsa", "infrastructure", "kernel", "linux"]
not_affected_if: ["no-oss-sequencer-use"]
published_at: "2026-10-23T12:18:25+00:00"
first_seen_at: "2026-10-23T21:57:33+00:00"
updated_at: "2026-10-25T12:38:50+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-98912", "first_seen_at": "2026-10-23T21:57:33+00:00"}, {"source": "epss", "url": "https://api.first.org/data/v1/epss?cve=CVE-2026-98912", "first_seen_at": "2026-10-25T12:38:50+00:00"}]
---

# Linux kernel ALSA sequencer OSS read check copies events incorrectly

In the Linux kernel's ALSA OSS sequencer, the read path checks whether the next queued event fits the userspace buffer with an inverted comparison. Small reads can copy oversized events and normal events can be skipped, so reads can misbehave or return the wrong result.

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- unknown

## Fix

- unknown

## Timeline

- 2026-10-23T21:57:33+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-98912
- 2026-10-25T12:38:50+00:00 epss https://api.first.org/data/v1/epss?cve=CVE-2026-98912

## From the sources

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

ALSA: seq: oss: Reject reads that cannot fit the next event

snd_seq_oss_read() checks whether the next queued OSS sequencer event
fits in the remaining userspace buffer before removing it from the read
queue.

The check is inverted. It currently stops when the event is smaller than
the remaining buffer, so a normal 4-byte event is not copied for an
8-byte read buffer. Conversely, an 8-byte event can be copied for a
smaller read count.

Break only when the remaining userspace buffer is smaller than the next
event, and report -EINVAL if no complete event has been copied. This
prevents an undersized read from looking like end-of-file while leaving
the event queued for a later read with a large enough buffer.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
