PT-2026-82928 · Git+5 · Kernel+167

CVE-2026-80628

·

Publicado

2026-08-28

·

Atualizado

2026-09-03

CVSS v4.0
CVSS v3.1

2.0

Baixa

VetorAV:L/AC:L/AT:P/PR:L/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N
In the Linux kernel, the following vulnerability has been resolved:
ALSA: seq: oss: Serialize readq reset state with q->lock
snd seq oss readq clear() resets qlen, head, and tail without q->lock even though the normal reader and producer paths serialize the same ring state under that spinlock. A reset can therefore race snd seq oss readq free() or snd seq oss readq put event() and leave stale records in the queue, drop freshly queued ones, or report the wrong readiness after wakeup. KCSAN reports a data race between snd seq oss readq clear() and snd seq oss readq free().
Take q->lock while clearing the ring and resetting input time. Factor the enqueue logic into a caller-locked helper so snd seq oss readq put timestamp() updates its suppression state under the same lock instead of racing the reset path.
The buggy scenario involves two paths, with each column showing the order within that path:
reset path: locked readq updater:
  1. snd seq oss reset() or 1. A reader or callback producer release reaches takes q->lock on the same queue. snd seq oss readq clear().
  2. snd seq oss readq clear() 2. The updater tests or modifies resets qlen, head, tail, qlen, head, and tail. and input time.
  3. snd seq oss readq clear() 3. The updater completes its wakes sleepers on read-modify-write sequence. q->midi sleep.
  4. Without q->lock, the reset 4. The resulting ring state drives can overlap the locked later reads and readiness. update.
KCSAN reports:
BUG: KCSAN: data-race in snd seq oss readq clear / snd seq oss readq free
write to 0xffff8881069fe608 of 4 bytes by task 120516 on cpu 0: snd seq oss readq free+0x6c/0x80 snd seq oss read+0xcb/0x250 odev read+0x38/0x60 vfs read+0xff/0x600 ksys read+0xb4/0x140 x64 sys read+0x46/0x60 do syscall 64+0xbb/0x2f0 entry SYSCALL 64 after hwframe+0x77/0x7f
read to 0xffff8881069fe608 of 4 bytes by task 120517 on cpu 1: snd seq oss readq clear+0x1f/0x90 snd seq oss reset+0xa7/0xf0 snd seq oss ioctl+0x6f6/0x7e0 odev ioctl+0x56/0xc0 x64 sys ioctl+0xd1/0x120 do syscall 64+0xbb/0x2f0 entry SYSCALL 64 after hwframe+0x77/0x7f
value changed: 0x00000001 -> 0x00000000

Exploit

Correção

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Identificadores relacionados

AZL-98145
CVE-2026-80628

Produtos afetados

Kernel
Linux
Linux-Allwinner-5.19
Linux-Aws
Linux-Aws-5.0
Linux-Aws-5.11
Linux-Aws-5.13
Linux-Aws-5.15
Linux-Aws-5.19
Linux-Aws-5.3
Linux-Aws-5.4
Linux-Aws-5.8
Linux-Aws-6.14
Linux-Aws-6.17
Linux-Aws-6.2
Linux-Aws-6.5
Linux-Aws-6.8
Linux-Aws-7.0
Linux-Aws-Fips
Linux-Aws-Hwe
Linux-Azure
Linux-Azure-4.15
Linux-Azure-5.11
Linux-Azure-5.13
Linux-Azure-5.15
Linux-Azure-5.19
Linux-Azure-5.3
Linux-Azure-5.4
Linux-Azure-5.8
Linux-Azure-6.11
Linux-Azure-6.14
Linux-Azure-6.17
Linux-Azure-6.2
Linux-Azure-6.5
Linux-Azure-6.8
Linux-Azure-7.0
Linux-Azure-Edge
Linux-Azure-Fde
Linux-Azure-Fde-5.15
Linux-Azure-Fde-5.19
Linux-Azure-Fde-6.14
Linux-Azure-Fde-6.17
Linux-Azure-Fde-6.2
Linux-Azure-Fde-6.8
Linux-Azure-Fde-7.0
Linux-Azure-Fips
Linux-Azure-Nvidia
Linux-Azure-Nvidia-6.14
Linux-Bluefield
Linux-Fips
Linux-Gcp
Linux-Gcp-4.15
Linux-Gcp-5.11
Linux-Gcp-5.13
Linux-Gcp-5.15
Linux-Gcp-5.19
Linux-Gcp-5.3
Linux-Gcp-5.4
Linux-Gcp-5.8
Linux-Gcp-6.11
Linux-Gcp-6.14
Linux-Gcp-6.17
Linux-Gcp-6.2
Linux-Gcp-6.5
Linux-Gcp-6.8
Linux-Gcp-7.0
Linux-Gcp-Fips
Linux-Gke
Linux-Gke-4.15
Linux-Gkeop-5.15
Linux-Gke-5.4
Linux-Gkeop
Linux-Hwe
Linux-Hwe-5.11
Linux-Hwe-5.13
Linux-Hwe-5.15
Linux-Hwe-5.19
Linux-Hwe-5.4
Linux-Hwe-5.8
Linux-Hwe-6.11
Linux-Hwe-6.14
Linux-Hwe-6.17
Linux-Hwe-6.2
Linux-Hwe-6.5
Linux-Hwe-6.8
Linux-Hwe-7.0
Linux-Hwe-Edge
Linux-Ibm
Linux-Ibm-5.15
Linux-Ibm-5.4
Linux-Ibm-6.8
Linux-Intel-5.13
Linux-Intel-Iot-Realtime
Linux-Intel-Iotg
Linux-Intel-Iotg-5.15
Linux-Iot
Linux-Kvm
Linux-Lowlatency
Linux-Lowlatency-Hwe-5.15
Linux-Lowlatency-Hwe-5.19
Linux-Lowlatency-Hwe-6.11
Linux-Lowlatency-Hwe-6.2
Linux-Lowlatency-Hwe-6.5
Linux-Lowlatency-Hwe-6.8
Linux-Lts
Linux-Lts-Xenial
Linux-Nvidia
Linux-Nvidia-6.11
Linux-Nvidia-6.17
Linux-Nvidia-6.2
Linux-Nvidia-6.5
Linux-Nvidia-6.8
Linux-Nvidia-7.0
Linux-Nvidia-Bos
Linux-Nvidia-Lowlatency
Linux-Nvidia-Tegra
Linux-Nvidia-Tegra-5.15
Linux-Nvidia-Tegra-Igx
Linux-Oem
Linux-Oem-5.10
Linux-Oem-5.13
Linux-Oem-5.14
Linux-Oem-5.17
Linux-Oem-5.6
Linux-Oem-6.0
Linux-Oem-6.1
Linux-Oem-6.11
Linux-Oem-6.14
Linux-Oem-6.17
Linux-Oem-6.5
Linux-Oem-6.8
Linux-Oem-7.0
Linux-Oracle
Linux-Oracle-5.0
Linux-Oracle-5.11
Linux-Oracle-5.13
Linux-Oracle-5.15
Linux-Oracle-5.3
Linux-Oracle-5.4
Linux-Oracle-5.8
Linux-Oracle-6.14
Linux-Oracle-6.17
Linux-Oracle-6.5
Linux-Oracle-6.8
Linux-Oracle-7.0
Linux-Raspi
Linux-Raspi-5.4
Linux-Raspi-Realtime
Linux-Raspi2
Linux-Realtime
Linux-Realtime-6.14
Linux-Realtime-6.17
Linux-Realtime-6.8
Linux-Riscv
Linux-Riscv-5.11
Linux-Riscv-5.15
Linux-Riscv-5.19
Linux-Riscv-5.8
Linux-Riscv-6.14
Linux-Riscv-6.17
Linux-Riscv-6.5
Linux-Riscv-6.8
Linux-Riscv-7.0
Linux-Starfive-5.19
Linux-Starfive-6.2
Linux-Starfive-6.5
Linux-Xilinx
Linux-Xilinx-Zynqmp