{"id":"CVE-2026-74354","title":"bpf: Take mmap_lock in zap_pages()","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Take mmap_lock in zap_pages()\n\nzap_vma_range() requires the owning mm's mmap_lock to be held.\n\nTaking mmap_read_lock under arena->lock would AB-BA against\narena_vm…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= 317460317a02a1af512697e6e964298dedd8a163 < 36b1d997866f6083d33934983aa2ce0a184ed642","Linux >= 317460317a02a1af512697e6e964298dedd8a163 < 80b89d0226a05e8b67969de99c31b51fcd54f76a","Linux 6.9"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T18:54:18.946852Z"},"published":"2026-08-15","updated":"2026-10-16","sourceUpdated":"2026-10-16T18:55:34.866Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-74354","references":[{"url":"https://git.kernel.org/stable/c/36b1d997866f6083d33934983aa2ce0a184ed642"},{"url":"https://git.kernel.org/stable/c/80b89d0226a05e8b67969de99c31b51fcd54f76a"}],"tags":["cve.org"],"epss":0.00165,"epssPercentile":0.05348,"ingestedAt":"2026-10-16T19:46:24.375Z","slug":"CVE-2026-74354","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Take mmap_lock in zap_pages()\n\nzap_vma_range() requires the owning mm's mmap_lock to be held.\n\nTaking mmap_read_lock under arena->lock would AB-BA against\narena_vm_close() and arena_map_mmap(), both of which run with\nmmap_write_lock held and then acquire arena->lock. Instead drop\narena->lock, mmget_not_zero() the vma's mm, take mmap_read_lock, and\nre-resolve the vma via find_vma() since it may have been unmapped or\nreplaced while waiting.\n\nTrack processed vmls with a per-call generation in vml->zap_gen and\nserialize zap_pages() callers with a new arena->zap_mutex so\nconcurrent callers on different uaddr ranges do not mark each other's\nvmls processed before the zap is done.\n\n## Affected\n\n- `Linux >= 317460317a02a1af512697e6e964298dedd8a163 < 36b1d997866f6083d33934983aa2ce0a184ed642`\n- `Linux >= 317460317a02a1af512697e6e964298dedd8a163 < 80b89d0226a05e8b67969de99c31b51fcd54f76a`\n- `Linux 6.9`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}