hugetlb, userfaultfd: fix reservation restore on userfaultfd error (Linux Linux)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.19 % · percentile 9 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- Linux
- NVD status
- Analyzed
Description
In the Linux kernel, the following vulnerability has been resolved: hugetlb, userfaultfd: fix reservation restore on userfaultfd error Currently in the is_continue case in hugetlb_mcopy_atomic_pte(), if we bail out using "goto out_release_unlock;" in the cases where idx >= size, or !huge_pte_none(), the code will detect that new_pagecache_page == false, and so call restore_reserve_on_error(). In this case I see restore_reserve_on_error() delete the reservation, and the following call to remove_inode_hugepages() will increment h->resv_hugepages causing a 100% reproducible leak. We should treat the is_continue case similar to adding a page into the pagecache and set new_pagecache_page to true, to indicate that there is no reservation to restore on the error path, and we need not call restore_reserve_on_error(). Rename new_pagecache_page to page_in_pagecache to make that clear.
Weaknesses (CWE)
- CWE-401 — Missing Release of Memory after Effective Lifetime
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.5 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2021-33862
- GCVE · GCVE-0-2021-47214
CERT-FR advisories
- CERTFR-2025-AVI-1057 — Multiples vulnérabilités dans les produits VMware · cert.ssi.gouv.fr
- CERTFR-2024-AVI-0420 — Multiples vulnérabilités dans le noyau Linux de SUSE · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*≥ 5.14 < 5.15.5cpe:2.3:o:linux:linux_kernel:5.13.13:*:*:*:*:*:*:*cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:*
Affected products
| Product | Versions |
|---|---|
| Linux · Linux | affected c7b1850dfb41d0b4154aca8dbc04777fbd75616f < b5069d44e2fbc4a9093d005b3ef0949add3dd27e ; affected c7b1850dfb41d0b4154aca8dbc04777fbd75616f < cc30042df6fcc82ea18acf0dace831503e60a0b7 ; affected 515b6124df6a84c957c5cc6bb6e8309dae7b1e9c ; affected 5.13.13 < 5.14 |
| Linux · Linux | affected 5.14 ; unaffected 0 < 5.14 ; unaffected 5.15.5 ≤ 5.15.* ; unaffected 5.16 ≤ * |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |