CVE-2026-97931
📛 CVE Title
ALSA: us122l: Prevent write upgrades for read mappings
Description
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.
Overview
- State
- PUBLISHED
- Assigner (CNA)
- Linux
- CVSS severity
- HIGH
- CVSS score
- 7.0 / 10
- CVSS vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H- Effective score
- 7.0 / 10 HIGH source: CNA overview
- CWE(s)
- —
- Reserved
- 2026-09-25
- Published
- 2026-09-25 10:22 UTC
- Last updated
- 2026-09-25 14:41 UTC
- Source
- https://raw.githubusercontent.com/CVEProject/cvelistV5/main/cves/2026/97xxx/CVE-2026-97931.json
- Linked Threat
- CVE-2026-97931 — ALSA: us122l: Prevent write upgrades for read mappings
NVD triage scoring NVD CVE 2.0
Layer NVD adds on top of the CNA's CVE record — published / last-modified timestamps, exploitability / impact subscores, and the FIRST.org EPSS probability that this CVE will be exploited in the wild in the next 30 days.
- NVD published
- 2026-09-25 11:17:20 UTC
- NVD last modified
- 2026-09-25 15:18:02 UTC
- NVD CVSS v3.1
- 7.0 / 10 HIGH source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- NVD CVSS vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H- Exploitability subscore
- 1.0 / 10
- Impact subscore
- 5.9 / 10
NVD / KEV / EPSS data refreshed 2026-09-26 04:27 UTC. Re-run the 🛰 Backfill from NVD button above to refresh.
European Union Vulnerability Database ENISA EUVD
ENISA's official EU repository for curated vulnerability intelligence. Carries a separate identifier (EUVD-YYYY-NNNN) and frequently exposes an earlier-published description + CVSS than NVD does.
- EUVD ID
-
EUVD-2026-86785
EUVD enrichment is queued; refresh the page in a few seconds.
Affected products (2)
| Vendor | Product | Versions | Platforms |
|---|---|---|---|
| Linux | Linux |
030a07e441296c372f946cd4065b5d831d8dc40c (affected),
030a07e441296c372f946cd4065b5d831d8dc40c (affected),
030a07e441296c372f946cd4065b5d831d8dc40c (affected),
030a07e441296c372f946cd4065b5d831d8dc40c (affected)
|
— |
| Linux | Linux |
2.6.28 (affected),
0 (unaffected),
6.12.111 (unaffected),
6.18.53 (unaffected),
7.2.7 (unaffected),
7.3-rc3 (unaffected)
|
— |
Vendor references (4)
References embedded in the original CVE record by the assigning CNA.
Web references (0)
DuckDuckGo results ranked by threat-intel / vendor advisory domains. Generated by the 🔎 Find references (web) button above — same flow as the Remediations search.
No web references attached yet.
NVD-tagged references (4)
Reference list NVD curates from the CNA record, vendor advisories, and third-party reports. The tag chips below are NVD's analyst-assigned categories.
- https://git.kernel.org/stable/c/0eb9dd4774af0ac4d1fd105ef2b0a1f6cec06f2f 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/64a87950239867682cde128020e1a47088295e5c 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/71c610aeb1770302ac9c9e0b9a4ecd37f1311928 416baaa9-dc9f-4396-8d5f-8c081fb06d67
- https://git.kernel.org/stable/c/d9c537b14f4982f17b103e3a2cfeee4bee6bc026 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Remediations (10)
Remediations are stored against the linked Threat row; the list below is deduplicated across both pages.
-
web:blog.talosintelligence.com
Talos' recap of Microsoft's monthly security update, including the vulnerabilities users need to patch for as soon as possible.
2026-09-27 22:55 UTC -
web:blog.talosintelligence.com
Microsoft has released its monthly security update for September 2026 , which includes 973 vulnerabilities affecting a range of products, including 113 that Microsoft marked as "critical."
2026-09-27 22:55 UTC -
web:msrc.microsoft.com
The Microsoft Security Response Center (MSRC) investigates all reports of security vulnerabilities affecting Microsoft products and services, and provides the information here as part of the ongoing effort to help you manage security risks and help keep your systems protected.
2026-09-27 22:55 UTC -
web:sec.cloudapps.cisco.com
On September 16, 2026 , the Cisco Product Security Incident Response Team (PSIRT) published the advisories that are listed in the following tables. To remediate these vulnerabilities, Cisco strongly recommends that customers upgrade to the fixed software that is indicated in the advisories. For more information about changes in Cisco PSIRT vulnerability disclosure, see Strengthening the ...
2026-09-27 22:55 UTC -
web:senserva.com
Every Microsoft security patch (KB) and the CVEs it fixes, with severity, CVSS, and CISA KEV status. Cross-linked to the CVE reference.
2026-09-27 22:55 UTC -
web:support.microsoft.com
This Hotpatch update for Windows 11, version 25H2 and 24H2 (KB5079420), improves functionality, performance, and reliability. To learn more about differences between security updates, optional non-security preview updates, out-of-band (OOB) updates, and continuous innovation, see Windows monthly updates explained. For information on Windows update terminology, see the different types of ...
2026-09-27 22:55 UTC -
web:support.servicenow.com
What you need to know: On September 24, 2026 , ServiceNow issued CVE - 2026 -86857, CVE - 2026 -86858, CVE - 2026 -13016, CVE - 2026 -86859, and CVE - 2026 -86860. Each of these security issues was identified through internal security testing, customer security assessments, or reports submitted through ServiceNow's responsible disclosure and bug bounty programs and was remediated independently. For security ...
2026-09-27 22:55 UTC -
web:www.forbes.com
Microsoft has patched 973 vulnerabilities, including actively exploited Windows CVE - 2026 -85880 and CVE - 2026 -81963 bugs. How should your organization respond to stay safe?
2026-09-27 22:55 UTC -
web:www.ntcompatible.com
Microsoft released its largest Patch Tuesday to date, addressing 973 vulnerabilities across Windows, Office, and server products, with 113 rated Critical. Two Elevation of Privilege flaws are confirmed actively exploited in the wild, including CVE - 2026 -81963 affecting Windows Update Stack and CVE - 2026 -85880 targeti ...
2026-09-27 22:55 UTC -
web:www.oracle.com
This Critical Patch Update contains 1448 new security patches across the product families listed below. Please note that a My Oracle Support (MOS) note summarizing the content of this Critical Patch Update and other Oracle Software Security Assurance activities is located at July 2026 Critical Patch Update: Executive Summary and Analysis.
2026-09-27 22:55 UTC
AI Forensic Analysis
Only Available for Registered Users. Sign in to view.
Raw JSON
The full cvelistV5 record. Download as CVE-2026-97931.json.
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/usb/usx2y/us122l.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "64a87950239867682cde128020e1a47088295e5c",
"status": "affected",
"version": "030a07e441296c372f946cd4065b5d831d8dc40c",
"versionType": "git"
},
{
"lessThan": "d9c537b14f4982f17b103e3a2cfeee4bee6bc026",
"status": "affected",
"version": "030a07e441296c372f946cd4065b5d831d8dc40c",
"versionType": "git"
},
{
"lessThan": "0eb9dd4774af0ac4d1fd105ef2b0a1f6cec06f2f",
"status": "affected",
"version": "030a07e441296c372f946cd4065b5d831d8dc40c",
"versionType": "git"
},
{
"lessThan": "71c610aeb1770302ac9c9e0b9a4ecd37f1311928",
"status": "affected",
"version": "030a07e441296c372f946cd4065b5d831d8dc40c",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/usb/usx2y/us122l.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.28"
},
{
"lessThan": "2.6.28",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.12.*",
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver"
},
{
"lessThanOrEqual": "6.18.*",
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.2.*",
"status": "unaffected",
"version": "7.2.7",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.3-rc3",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.12.111",
"versionStartIncluding": "2.6.28",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "6.18.53",
"versionStartIncluding": "2.6.28",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.2.7",
"versionStartIncluding": "2.6.28",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.3-rc3",
"versionStartIncluding": "2.6.28",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: us122l: Prevent write upgrades for read mappings\n\nThe hwdep mmap callback rejects read-buffer mappings that are initially\nwritable, but leaves VM_MAYWRITE set on mappings created with PROT_READ.\nA process that can open the hwdep node O_RDWR can later use mprotect() to\nmake the mapping writable.\n\nThe read allocation begins with struct usb_stream. Its read_size member is\nused by the fault handler to decide which pages belong to the read buffer.\nThe read VMA intentionally remains expandable because pcm_usb_stream uses\nmremap() after reading that size. Changing read_size first can therefore\nmap and access pages beyond the allocation. The same member is also\nconsumed by usb_stream_free(), where changing it can make\nfree_pages_exact() release pages outside the allocation.\n\nClear VM_MAYWRITE for read-buffer mappings after rejecting an initially\nwritable VMA. This keeps the separate output-buffer mapping writable while\npreventing later permission upgrades."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bad data is written by a local process. It maps the us122l hwdep read buffer PROT_READ via usb_stream_hwdep_mmap(), upgrades it with mprotect() because VM_MAYWRITE was never cleared, and overwrites usb_stream.read_size. No remote protocol or USB packet carries the malicious value.\nAC:H - The driver only binds, and only creates /dev/snd/hwC*D*, when a TASCAM US-122L/US-144 is attached. A local attacker can't produce that hardware without physical access. Once it is present, mmap, mprotect, a read_size overwrite and mremap are fully deterministic.\nPR:L - The attacker needs an O_RDWR open of the hwdep node, which a normal user gets through audio group or seat uaccess ACLs. usb_stream_hwdep_open() and usb_stream_hwdep_ioctl() do no capability checks, and the stream already exists from probe.\nUI:N - The attacker's own process does the open, mmap, mprotect, write to read_size, mremap and page faults. No other user has to act.\nS:U - The result is corrupted kernel memory and local privilege escalation within the same kernel authority. No VM or hardware isolation boundary is crossed.\nC:H - With an inflated read_size, usb_stream_hwdep_vm_fault() maps virt_to_page((char *)s + offset) for offsets past the alloc_pages_exact() buffer. Userspace can then directly read arbitrary adjacent kernel pages.\nI:H - Those out-of-bounds pages are mapped writable into userspace, giving direct write access to kernel memory. In addition, usb_stream_free() calls free_pages_exact(s, read_size) with the tampered size, freeing pages that are still in use, a page-level use-after-free.\nA:H - Writing to foreign kernel pages, or freeing the wrong pages through usb_stream_free() on SET_PARAMS re-init or disconnect, corrupts the page allocator and kernel data, which leads to an oops or panic."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-09-25T14:41:39.476Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/64a87950239867682cde128020e1a47088295e5c"
},
{
"url": "https://git.kernel.org/stable/c/d9c537b14f4982f17b103e3a2cfeee4bee6bc026"
},
{
"url": "https://git.kernel.org/stable/c/0eb9dd4774af0ac4d1fd105ef2b0a1f6cec06f2f"
},
{
"url": "https://git.kernel.org/stable/c/71c610aeb1770302ac9c9e0b9a4ecd37f1311928"
}
],
"title": "ALSA: us122l: Prevent write upgrades for read mappings",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-97931",
"datePublished": "2026-09-25T10:22:47.382Z",
"dateReserved": "2026-09-25T10:18:58.203Z",
"dateUpdated": "2026-09-25T14:41:39.476Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}