CVE-2026-46318 (GCVE-0-2026-46318)
Vulnerability from cvelistv5 – Published: 2026-06-09 12:11 – Updated: 2026-06-09 12:11
VLAI
Title
Revert "mm/hugetlbfs: update hugetlbfs to use mmap_prepare"
Summary
In the Linux kernel, the following vulnerability has been resolved:
Revert "mm/hugetlbfs: update hugetlbfs to use mmap_prepare"
This reverts commit ea52cb24cd3f ("mm/hugetlbfs: update hugetlbfs to use
mmap_prepare") with conflict resolution to account for changes in commit
ea52cb24cd3f ("mm/hugetlbfs: update hugetlbfs to use mmap_prepare").
The patch incorrectly handled hugetlb VMA lock allocation at the
mmap_prepare stage, where a failed allocation occurring after mmap_prepare
is called might result in the lock leaking.
There is no risk of a merge causing a similar issues, as
VMA_DONTEXPAND_BIT is set for hugetlb mappings.
As a first step in addressing this issue, simply revert the change so we
can rework how we do this having corrected the underlying issues.
We maintain the VMA flags changes as best we can, accounting for the fact
that we were working with a VMA descriptor previously and propagating
like-for-like changes for this.
Note that we invoke vma_set_flags() and do not call vma_start_write() as
vm_flags_set() does. This is OK as it's being done in an .mmap hook where
the VMA is not yet linked into the tree so nobody else can be accessing
it.
Severity
No CVSS data available.
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | |
|---|---|---|---|
| Linux | Linux |
Affected:
ea52cb24cd3fb121283754ab82b2cb3044609359 , < 3af5fc3f0ac98c624c109c8c0796fa46e814344c
(git)
Affected: ea52cb24cd3fb121283754ab82b2cb3044609359 , < 83f9efcce93f8574be2279090ee2aec58b86cda7 (git) |
|
| Linux | Linux |
Affected:
6.19
Unaffected: 0 , < 6.19 (semver) Unaffected: 7.0.12 , ≤ 7.0.* (semver) Unaffected: 7.1-rc6 , ≤ * (original_commit_for_fix) |
{
"containers": {
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"fs/hugetlbfs/inode.c",
"include/linux/hugetlb.h",
"include/linux/hugetlb_inline.h",
"mm/hugetlb.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "3af5fc3f0ac98c624c109c8c0796fa46e814344c",
"status": "affected",
"version": "ea52cb24cd3fb121283754ab82b2cb3044609359",
"versionType": "git"
},
{
"lessThan": "83f9efcce93f8574be2279090ee2aec58b86cda7",
"status": "affected",
"version": "ea52cb24cd3fb121283754ab82b2cb3044609359",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"fs/hugetlbfs/inode.c",
"include/linux/hugetlb.h",
"include/linux/hugetlb_inline.h",
"mm/hugetlb.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "6.19"
},
{
"lessThan": "6.19",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "7.0.*",
"status": "unaffected",
"version": "7.0.12",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "7.1-rc6",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.0.12",
"versionStartIncluding": "6.19",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "7.1-rc6",
"versionStartIncluding": "6.19",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nRevert \"mm/hugetlbfs: update hugetlbfs to use mmap_prepare\"\n\nThis reverts commit ea52cb24cd3f (\"mm/hugetlbfs: update hugetlbfs to use\nmmap_prepare\") with conflict resolution to account for changes in commit\nea52cb24cd3f (\"mm/hugetlbfs: update hugetlbfs to use mmap_prepare\").\n\nThe patch incorrectly handled hugetlb VMA lock allocation at the\nmmap_prepare stage, where a failed allocation occurring after mmap_prepare\nis called might result in the lock leaking.\n\nThere is no risk of a merge causing a similar issues, as\nVMA_DONTEXPAND_BIT is set for hugetlb mappings.\n\nAs a first step in addressing this issue, simply revert the change so we\ncan rework how we do this having corrected the underlying issues.\n\nWe maintain the VMA flags changes as best we can, accounting for the fact\nthat we were working with a VMA descriptor previously and propagating\nlike-for-like changes for this.\n\nNote that we invoke vma_set_flags() and do not call vma_start_write() as\nvm_flags_set() does. This is OK as it\u0027s being done in an .mmap hook where\nthe VMA is not yet linked into the tree so nobody else can be accessing\nit."
}
],
"providerMetadata": {
"dateUpdated": "2026-06-09T12:11:11.181Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/3af5fc3f0ac98c624c109c8c0796fa46e814344c"
},
{
"url": "https://git.kernel.org/stable/c/83f9efcce93f8574be2279090ee2aec58b86cda7"
}
],
"title": "Revert \"mm/hugetlbfs: update hugetlbfs to use mmap_prepare\"",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2026-46318",
"datePublished": "2026-06-09T12:11:11.181Z",
"dateReserved": "2026-05-13T15:03:33.112Z",
"dateUpdated": "2026-06-09T12:11:11.181Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"nvd": "{\"cve\":{\"id\":\"CVE-2026-46318\",\"sourceIdentifier\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\",\"published\":\"2026-06-09T13:16:37.107\",\"lastModified\":\"2026-06-09T13:16:37.107\",\"vulnStatus\":\"Received\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"In the Linux kernel, the following vulnerability has been resolved:\\n\\nRevert \\\"mm/hugetlbfs: update hugetlbfs to use mmap_prepare\\\"\\n\\nThis reverts commit ea52cb24cd3f (\\\"mm/hugetlbfs: update hugetlbfs to use\\nmmap_prepare\\\") with conflict resolution to account for changes in commit\\nea52cb24cd3f (\\\"mm/hugetlbfs: update hugetlbfs to use mmap_prepare\\\").\\n\\nThe patch incorrectly handled hugetlb VMA lock allocation at the\\nmmap_prepare stage, where a failed allocation occurring after mmap_prepare\\nis called might result in the lock leaking.\\n\\nThere is no risk of a merge causing a similar issues, as\\nVMA_DONTEXPAND_BIT is set for hugetlb mappings.\\n\\nAs a first step in addressing this issue, simply revert the change so we\\ncan rework how we do this having corrected the underlying issues.\\n\\nWe maintain the VMA flags changes as best we can, accounting for the fact\\nthat we were working with a VMA descriptor previously and propagating\\nlike-for-like changes for this.\\n\\nNote that we invoke vma_set_flags() and do not call vma_start_write() as\\nvm_flags_set() does. This is OK as it\u0027s being done in an .mmap hook where\\nthe VMA is not yet linked into the tree so nobody else can be accessing\\nit.\"}],\"metrics\":{},\"references\":[{\"url\":\"https://git.kernel.org/stable/c/3af5fc3f0ac98c624c109c8c0796fa46e814344c\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"},{\"url\":\"https://git.kernel.org/stable/c/83f9efcce93f8574be2279090ee2aec58b86cda7\",\"source\":\"416baaa9-dc9f-4396-8d5f-8c081fb06d67\"}]}}"
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…