CVE-2026-23199: procfs: avoid fetching build ID while holding VMA lock
In the Linux kernel, the following vulnerability has been resolved:
procfs: avoid fetching build ID while holding VMA lock
Fix PROCMAP_QUERY to fetch optional build ID only after dropping mmap_lock
or per-VMA lock, whichever was used to lock VMA under question, to avoid
deadlock reported by syzbot:
-> #1 (&mm->mmap_lock){++++}-{4:4}:
__might_fault+0xed/0x170
_copy_to_iter+0x118/0x1720
copy_page_to_iter+0x12d/0x1e0
filemap_read+0x720/0x10a0
blkdev_read_iter+0x2b5/0x4e0
vfs_read+0x7f4/0xae0
ksys_read+0x12a/0x250
do_syscall_64+0xcb/0xf80
entry_SYSCALL_64_after_hwframe+0x77/0x7f
-> #0 (&sb->s_type->i_mutex_key#8){++++}-{4:4}:
__lock_acquire+0x1509/0x26d0
lock_acquire+0x185/0x340
down_read+0x98/0x490
blkdev_read_iter+0x2a7/0x4e0
__kernel_read+0x39a/0xa90
freader_fetch+0x1d5/0xa80
__build_id_parse.isra.0+0xea/0x6a0
do_procmap_query+0xd75/0x1050
procfs_procmap_ioctl+0x7a/0xb0
__x64_sys_ioctl+0x18e/0x210
do_syscall_64+0xcb/0xf80
entry_SYSCALL_64_after_hwframe+0x77/0x7f
other info that might help us debug this:
Possible unsafe locking scenario:
CPU0 CPU1
---- ----
rlock(&mm->mmap_lock);
lock(&sb->s_type->i_mutex_key#8);
lock(&mm->mmap_lock);
rlock(&sb->s_type->i_mutex_key#8);
*** DEADLOCK ***
This seems to be exacerbated (as we haven't seen these syzbot reports
before that) by the recent:
777a8560fd29 ("lib/buildid: use __kernel_read() for sleepable context")
To make this safe, we need to grab file refcount while VMA is still locked, but
other than that everything is pretty straightforward. Internal build_id_parse()
API assumes VMA is passed, but it only needs the underlying file reference, so
just add another variant build_id_parse_file() that expects file passed
directly.
[akpm@linux-foundation.org: fix up kerneldoc]
Security readout for executives and security teams
Plain-English summary
CVE-2026-23199 is a Linux kernel procfs issue where a specific process memory-map query can deadlock the kernel while fetching a build ID. The public record describes an availability-style failure, not data theft or code execution. Severity is not yet scored, so urgency depends on affected kernel use and vendor patch status.
Executive priority
Treat as a kernel availability risk requiring normal vulnerability management attention. Escalate priority for shared Linux hosts, CI runners, or platforms running untrusted local workloads. Current sources do not justify emergency response without vendor impact confirmation.
Technical view
The flaw is in procfs PROCMAP_QUERY. The kernel fetched an optional build ID while holding mmap or per-VMA locks, creating an unsafe lock ordering with inode mutex acquisition. The fix moves build ID parsing after dropping the VMA-related lock and adds a file-based build ID parse path.
Likely exposure
Systems running affected Linux kernel versions or unpatched downstream builds may be exposed. The bundle lists Linux as affected and references stable kernel fixes, but distribution-specific package versions and backports are not provided.
Exploitation context
No active exploitation is supported by the provided sources. The CVE is not marked KEV. The source describes a syzbot-reported deadlock scenario, not public exploitation, exploit code, or weaponized use.
Researcher notes
The core issue is lock ordering during build ID retrieval in procfs map queries. Evidence is strongest for root cause and fix direction, but weak for severity, affected distribution packages, exploitability requirements, and real-world impact.
Mitigation direction
Apply Linux kernel updates from your distribution or vendor when available.
Confirm the vendor update includes one of the referenced stable fixes.
Prioritize patching systems where local users or workloads can exercise procfs interfaces.
If no package exists, monitor vendor guidance for CVE-2026-23199.
Validation and detection
Inventory Linux kernel versions across servers, containers hosts, and appliances.
Compare running kernels with vendor advisories for CVE-2026-23199.
Check whether referenced stable fix commits are included or backported.
Review exposure of multi-user systems where untrusted local workloads run.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23199 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 14, 2026, 16:27 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.