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

bpf: Take mmap_lock in zap_pages()

zap_vma_range() requires the owning mm's mmap_lock to be held.

Taking mmap_read_lock under arena->lock would AB-BA against
arena_vm_close() and arena_map_mmap(), both of which run with
mmap_write_lock held and then acquire arena->lock. Instead drop
arena->lock, mmget_not_zero() the vma's mm, take mmap_read_lock, and
re-resolve the vma via find_vma() since it may have been unmapped or
replaced while waiting.

Track processed vmls with a per-call generation in vml->zap_gen and
serialize zap_pages() callers with a new arena->zap_mutex so
concurrent callers on different uaddr ranges do not mark each other's
vmls processed before the zap is done.
Published: 2026-08-15
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel contains a race condition in the BPF subsystem where the zap_pages() function fails to hold the required mmap_lock while touching user memory. This oversight allows concurrent modifications to memory management structures that may result in memory corruption, kernel panics, or denial of service. The vulnerability is tied to improper synchronization and can compromise the integrity of the kernel’s address space allocator.

Affected Systems

The flaw affects all Linux kernel releases that contain the buggy implementation of the BPF zap_pages() routine. No specific vendor or version list is provided in the advisory, so any distribution that ships the unpatched kernel is potentially vulnerable until a later release incorporates the fix.

Risk and Exploitability

The CVSS score is 7.8, indicating a high severity of the vulnerability. The EPSS score is < 1%, suggesting a low to moderate likelihood of exploitation in the current environment. The vulnerability is not listed in CISA KEV, indicating no publicly known exploitation. Exploitation would likely require local or higher privilege and knowledge of memory layout to trigger a fault, but the race condition could be abused by an attacker with code execution privileges to destabilize services or crash the system.

Generated by OpenCVE AI on August 22, 2026 at 02:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the kernel to a version that incorporates commit 36b1d997866f, which addresses the locking issue in zap_pages().
  • Reboot the system to ensure the updated kernel is in use and the protection is active.
  • After reboot, monitor system logs for any unusual crashes or memory corruption indicators that could have been caused by the vulnerability.

Generated by OpenCVE AI on August 22, 2026 at 02:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 22 Aug 2026 01:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-598
CWE-823

Wed, 19 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-833
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 17 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-598
CWE-823

Mon, 17 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-754

Mon, 17 Aug 2026 06:00:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sat, 15 Aug 2026 13:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-754

Sat, 15 Aug 2026 06:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: bpf: Take mmap_lock in zap_pages() zap_vma_range() requires the owning mm's mmap_lock to be held. Taking mmap_read_lock under arena->lock would AB-BA against arena_vm_close() and arena_map_mmap(), both of which run with mmap_write_lock held and then acquire arena->lock. Instead drop arena->lock, mmget_not_zero() the vma's mm, take mmap_read_lock, and re-resolve the vma via find_vma() since it may have been unmapped or replaced while waiting. Track processed vmls with a per-call generation in vml->zap_gen and serialize zap_pages() callers with a new arena->zap_mutex so concurrent callers on different uaddr ranges do not mark each other's vmls processed before the zap is done.
Title bpf: Take mmap_lock in zap_pages()
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T05:46:14.991Z

Reserved: 2026-08-15T05:44:03.887Z

Link: CVE-2026-74354

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-15T06:22:36.773

Modified: 2026-08-17T06:19:30.077

Link: CVE-2026-74354

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-15T00:00:00Z

Links: CVE-2026-74354 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-22T03:00:12Z

Weaknesses