CVE-2025-21853: Linux kernel · bpf: avoid holding freeze_mutex during mmap operation
Affects Linux kernelSource GCVE Database
Not known to be exploited.
Data as of 5 Nov 2026, 23:23 UTC
Rated by Threat Radar · No CVSS score from NVD or the CNA
Thin evidence
One scorer or none- EPSS
- 0.2% chance of exploitation in 30 days – higher than 16% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
Exploitation evidence
Disclosed: evidence found.
CVE published 12 Mar 2025
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 5 Nov 2026.
Description
In the Linux kernel, the following vulnerability has been resolved: bpf: avoid holding freeze_mutex during mmap operation We use map->freeze_mutex to prevent races between map_freeze() and memory mapping BPF map contents with writable permissions. The way we naively do this means we'll hold freeze_mutex for entire duration of all the mm and VMA manipulations, which is completely unnecessary. This can potentially also lead to deadlocks, as reported by syzbot in [0]. So, instead, hold freeze_mutex only during writeability checks, bump (proactively) "write active" count for the map, unlock the mutex and proceed with mmap logic. And only if something went wrong during mmap logic, then undo that "write active" counter increment. [0] https://lore.kernel.org/bpf/678dcbc9.050a0220.303755.0066.GAE@google.com/
References
- git.kernel.org/stable/c/2ce31c97c219b4fe797749f950274f246eb88c49 (opens in a new tab)
- git.kernel.org/stable/c/0d90d9e154144a3a80e9fc0eb9b21b7fc990f68f (opens in a new tab)
- git.kernel.org/stable/c/4759acbd44d24a69b7b14848012ec4201d6c5501 (opens in a new tab)
- git.kernel.org/stable/c/29cfda62ab4d92ab94123813db49ab76c1e61b29 (opens in a new tab)
- git.kernel.org/stable/c/d95607a5f2f9bb08194c9deaf4a5f3e8ba59a9d4 (opens in a new tab)
- git.kernel.org/stable/c/271e49f8a58edba65bc2b1250a0abaa98c4bfdbe (opens in a new tab)
- git.kernel.org/stable/c/bc27c52eea189e8f7492d40739b7746d67b65beb (opens in a new tab)
- lists.debian.org/debian-lts-announce/2025/05/msg00045.html (opens in a new tab)
- lists.debian.org/debian-lts-announce/2025/05/msg00030.html (opens in a new tab)
- cert-portal.siemens.com/productcert/html/ssa-019113.html (opens in a new tab)
- cert-portal.siemens.com/productcert/html/ssa-457936.html (opens in a new tab)