Skip to main content

Linux Kernel CVE-2026-97931

| EUVDEUVD-2026-86785 HIGH
2026-09-25 Linux GHSA-vp4m-4hj6-cc9p
7.0
CVSS 3.1 · Vendor: Linux
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Open us122l hwdep node O_RDWR
  2. Delivery
    mmap read buffer PROT_READ
  3. Exploit
    mprotect() upgrades mapping writable
  4. Execution
    Overwrite usb_stream read_size field
  5. Persist
    Fault handler maps pages beyond allocation
  6. Impact
    Leak adjacent memory / free outside buffer

Vulnerability Assessment

Exploitation Conditions

Requires local access with an account that can open the us122l hwdep character node O_RDWR (typically membership in the audio group / access to /dev/snd), AND a physically-connected Tascam US-122L (or compatible us122l/usx2y) USB audio device - the driver code path does not exist without the hardware. Exploitation further requires establishing a PROT_READ mmap of the read buffer and then using mprotect() to upgrade it, plus manipulating usb_stream read_size around the mremap()/fault or free path (reflected in AC:H). Limiting factors: no remote vector (AV:L), authentication required (PR:L), the niche hardware dependency, and the fact that default single-user desktops rarely expose this node to untrusted users.

Impact

This is a locally-exploitable memory-safety flaw in the Linux ALSA us122l driver (Tascam US-122L USB audio interface), and the real-world risk is modest despite the 7.0 'HIGH' CVSS rating. The provided CVSS vector (AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H) already constrains it to a local attacker who holds valid credentials and can open the hwdep node O_RDWR (PR:L), with high attack complexity (AC:H) reflecting the mprotect()/mremap() sequencing and the hard requirement that the specific USB device be physically present. There is no EPSS score, no CISA KEV listing, and no public POC in the supplied data - so this is 'no public exploit identified at time of analysis,' not active exploitation. The C:H/I:H/A:H impact rating appears overstated: the described primitive is an out-of-bounds read of pages adjacent to the read buffer (a genuine but bounded information-disclosure/corruption vector) plus a free_pages_exact() releasing pages outside the allocation (crash/corruption/DoS), which realistically maps closer to C:L/I:L/A:H than full C:H/I:H/A:H. Net: this is a low-priority, defense-in-depth fix for the vast majority of systems, not an urgent patch - it only matters where the affected USB audio hardware is actually attached and untrusted local users have hwdep access. No conflicting signals between vector and description (both indicate local access); the main caveat is that impact severity is inferred and likely lower than NVD's C:H/I:H/A:H.

Exploit ScenarioDerived

An unprivileged-but-authorized local user on a machine with a Tascam US-122L attached opens the hwdep node O_RDWR and mmap()s the read buffer with PROT_READ, then calls mprotect() to upgrade the still-VM_MAYWRITE mapping to writable. By writing to struct usb_stream's read_size before triggering the fault handler or usb_stream_free(), they cause the kernel to map/access pages beyond the allocation (leaking adjacent kernel memory) and free_pages_exact() to release pages outside the buffer (corruption/crash). No public POC is referenced; exploitation is gated by AC:H sequencing and the presence of the specific hardware.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Sep 25, 2026

Linux kernel ALSA us122l driver code leaves VM_MAYWRITE set on read-buffer mappings that were created with PROT_READ, so a local user who can open the hwdep character node O_RDWR can simply call mprotect() to upgrade that mapping to writable after the initial rejection. Once writable, the attacker can alter the struct usb_stream read_size field, which the fault handler uses to decide which pages belong to the read buffer and which usb_stream_free() uses to size the free_pages_exact() release, resulting in out-of-bounds page mapping/access and out-of-bounds freeing of memory outside the allocation. Exploitation requires local authenticated access to /dev/snd's us122l hwdep node plus a physically attached Tascam US-122L-class USB audio device, so no public exploit code has been identified at time of analysis and the practical risk is modest despite the 7.0 base score; the independent assessment rates confidentiality and integrity impact as limited with availability impact high.

RemediationAI

Apply the vendor-released kernel fix by upgrading to Linux 6.12.111, 6.18.53, 7.2.7, or 7.3-rc3 (or any later stable release containing the backport), using the upstream commits published at https://git.kernel.org/stable/c/64a87950239867682cde128020e1a47088295e5c, https://git.kernel.org/stable/c/d9c537b14f4982f17b103e3a2cfeee4bee6bc026, https://git.kernel.org/stable/c/0eb9dd4774af0ac4d1fd105ef2b0a1f6cec06f2f, and https://git.kernel.org/stable/c/71c610aeb1770302ac9c9e0b9a4ecd37f1311928 as verification; distribution kernels should be tracked to whatever patched build the vendor ships, per the advisory at https://nvd.nist.gov/vuln/detail/CVE-2026-97931. Where patching cannot be done immediately, the effective compensating controls target the prerequisites rather than the bug itself: restrict access to the us122l hwdep node under /dev/snd so that only trusted accounts in the audio group (or a dedicated ACL) can open it O_RDWR, since any user with that access can reach the vulnerable mmap path - the trade-off is that legitimate audio applications for the Tascam device must run under those same trusted accounts. If no Tascam US-122L-class hardware is present or needed, unload and blacklist the snd-usb-us122l module (modprobe -r snd-usb-us122l; blacklist entry in /etc/modprobe.d) and, where practical, block the USB device ID; the trade-off is loss of support for that hardware. Removing physical access to untrusted USB audio devices and avoiding running untrusted code as a user with audio-device privileges further reduces exposure. Note that the output-buffer mapping is intentionally writable and is unaffected by the fix, so no application-side change is required beyond the kernel upgrade.

Affected VersionsENISA

Linux patch: 6.12.111
Linux 030a07e441296c372f946cd4065b5d831d8dc40c <0eb9dd4774af0ac4d1fd105ef2b0a1f6cec06f2f
Linux 2.6.28
Linux patch: 0
Linux patch: 7.2.7
Linux 030a07e441296c372f946cd4065b5d831d8dc40c <71c610aeb1770302ac9c9e0b9a4ecd37f1311928
Linux patch: 6.18.53
Linux 030a07e441296c372f946cd4065b5d831d8dc40c <d9c537b14f4982f17b103e3a2cfeee4bee6bc026
Linux patch: 7.3-rc3
Linux 030a07e441296c372f946cd4065b5d831d8dc40c <64a87950239867682cde128020e1a47088295e5c

Affected Packages

euvd linux no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The affected code is the USB ALSA subsystem's us122l driver (and its shared usb_stream helper), which exposes a hwdep (hardware-dependent) character device to userspace. The driver's mmap callback intentionally refuses mappings of the read buffer that are requested as writable, but it fails to clear the VM_MAYWRITE VMA flag when the mapping is created with PROT_READ; VM_MAYWRITE records that a mapping is permitted to become writable later, so a process holding O_RDWR on the node can defeat the original check with mprotect(). The read allocation begins with a struct usb_stream whose read_size member is trusted by two distinct paths: the page-fault handler uses it to determine which pages belong to the read buffer, and usb_stream_free() passes it into free_pages_exact() to release the allocation. Because the read VMA is deliberately left expandable (pcm_usb_stream calls mremap() after consulting read_size), modifying the member before a fault or before teardown lets a user map and dereference pages beyond the allocated region, or causes the kernel to hand pages outside the allocation to the page allocator - a memory-safety defect (out-of-bounds access/write and out-of-bounds free) rather than a simple logic error. The upstream fix clears VM_MAYWRITE for read-buffer mappings immediately after rejecting an initially writable VMA, preserving the intentional writability of the separate output-buffer mapping while blocking later permission upgrades. The vulnerability feed assigns no CWE; the root-cause class is improper preservation of VMA protection flags leading to out-of-bounds memory operations. CVSS is AV:L/AC:H/PR:L/UI:N, reflecting that the driver path only exists when the USB audio hardware is present and that the read_size manipulation must be timed around the mremap()/fault or free paths.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Linux) PRIMARY 7.0 HIGH
AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI 5.8 MEDIUM

Local hwdep O_RDWR access (AV:L/PR:L) plus mprotect/read_size sequencing and hardware dependency (AC:H); OOB read leaks limited adjacent memory (C:L), free-outside-allocation gives minor corruption (I:L) and reliable crash (A:H).

3.1 AV:L/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:H
4.0 AV:L/AC:H/AT:N/PR:L/UI:N/VC:L/VI:L/VA:H/SC:N/SI:N/SA:N
SUSE 5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat 7.0 MEDIUM

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
CVSS changed
Sep 25, 2026 - 15:22 NVD
7.0 (HIGH)
Patch available
Sep 25, 2026 - 11:02 EUVD
CVE Published
Sep 25, 2026 - 10:22 cve.org
HIGH 7.0
CVE Published
Sep 25, 2026 - 10:22 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

ALSA: us122l: Prevent write upgrades for read mappings

The hwdep mmap callback rejects read-buffer mappings that are initially writable, but leaves VM_MAYWRITE set on mappings created with PROT_READ. A process that can open the hwdep node O_RDWR can later use mprotect() to make the mapping writable.

The read allocation begins with struct usb_stream. Its read_size member is used by the fault handler to decide which pages belong to the read buffer. The read VMA intentionally remains expandable because pcm_usb_stream uses mremap() after reading that size. Changing read_size first can therefore map and access pages beyond the allocation. The same member is also consumed by usb_stream_free(), where changing it can make free_pages_exact() release pages outside the allocation.

Clear VM_MAYWRITE for read-buffer mappings after rejecting an initially writable VMA. This keeps the separate output-buffer mapping writable while preventing later permission upgrades.

Executive ViewAI

Why It Matters

The Linux kernel ALSA us122l driver contains a high-severity memory corruption vulnerability (CVE-2026-97931) that could allow a local user with physical access to a Tascam US-122L USB audio device to crash systems or potentially escalate privileges. No public exploit has been identified at time of analysis, but the high availability impact means unpatched systems could experience operational disruptions. Security leadership should ensure timely patching of affected kernels, especially in environments where such audio devices are used.

Business Impact: Medium
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
Low
driver for a single niche Tascam US-122L USB audio device
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Defer
Exploitation· derived
None
System Exposure· derived
Small
Automatable· derived
No
Human Impact
Medium

Priority Score

35
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +35
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy