xen/gntalloc: validate grant count before allocation
In the Linux kernel, the following vulnerability has been resolved: xen/gntalloc: validate grant count before allocation gntalloc_ioctl_alloc() allocates the grant-id array before checking whether the requested count fits within the global grant limit. Counts above that limit cannot succeed, so reject them before the user-controlled allocation reaches kcalloc(). Use a subtraction-based check while holding gref_mutex so adding the requested count cannot wrap. Also cast the count before advancing the per-file index so the page-size multiplication is performed in 64-bit arithmetic.
- Products
- Linux
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-98900
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 29 Oct 2026, 18:04 UTC · Revision 2
Source evidence
xen/gntalloc: validate grant count before allocation
core-cve · Original sourcePublished 23 Oct 2026, 11:54 UTC
In the Linux kernel, the following vulnerability has been resolved: xen/gntalloc: validate grant count before allocation gntalloc_ioctl_alloc() allocates the grant-id array before checking whether the requested count fits within the global grant limit. Counts above that limit cannot succeed, so reject them before the user-controlled allocation reaches kcalloc(). Use a subtraction-based check while holding gref_mutex so adding the requested count cannot wrap. Also cast the count before advancing the per-file index so the page-size multiplication is performed in 64-bit arithmetic.
cve:CVE-2026-98900
Linux
Fixed versions: Not specified
Linux
Fixed versions: Not specified
Complete source record
{
"id": "6b42c9e4ca03fb37e7ab58a19f7b62a9db3e2bbd4c5cc3f1eca1e9f5ff74f51b",
"url": "https://www.cve.org/CVERecord?id=CVE-2026-98900",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "xen/gntalloc: validate grant count before allocation",
"summary": "In the Linux kernel, the following vulnerability has been resolved: xen/gntalloc: validate grant count before allocation gntalloc_ioctl_alloc() allocates the grant-id array before checking whether the requested count fits within the global grant limit. Counts above that limit cannot succeed, so reject them before the user-controlled allocation reaches kcalloc(). Use a subtraction-based check while holding gref_mutex so adding the requested count cannot wrap. Also cast the count before advancing the per-file index so the page-size multiplication is performed in 64-bit arithmetic.",
"evidence": "cve:CVE-2026-98900",
"products": [
{
"name": {
"value": "Linux",
"evidence": "/containers/cna/affected/0/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
},
{
"name": {
"value": "Linux",
"evidence": "/containers/cna/affected/1/product"
},
"prerequisites": [],
"fixed_versions": [],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CVE-2026-98900",
"aliases": [
"CVE-2026-98900"
],
"metrics": [],
"affected": [
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "e2806390aa1c4d5b3f7a68f10a56ae12c71c00d8",
"versionType": "git"
},
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "71a0cf87e19fb35c4292ca88985e376e613c900a",
"versionType": "git"
},
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "641de086a05f349de7fc548612432bc2fed721ca",
"versionType": "git"
},
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "720554c04acba80018ded069d3e0984bebaee891",
"versionType": "git"
},
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "84d5727cef8eb9c8a28210ad248f1c70b223b065",
"versionType": "git"
},
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "231542f4e43cf9837cb520664545e85fbe666b7b",
"versionType": "git"
},
{
"status": "affected",
"version": "dd3140588d9551235ebc2a0dacdca098e7677573",
"lessThan": "2299822f3f466b5dcad2377bf63986199f881a6b",
"versionType": "git"
}
],
"programFiles": [
"drivers/xen/gntalloc.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "2.6.39"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "2.6.39",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.271",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.222",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.189",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.158",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.111",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.53",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/xen/gntalloc.c"
],
"defaultStatus": "affected"
}
],
"modified": "2026-10-26T06:56:27.943Z",
"provider": "cve",
"references": [
"https://git.kernel.org/stable/c/e2806390aa1c4d5b3f7a68f10a56ae12c71c00d8",
"https://git.kernel.org/stable/c/71a0cf87e19fb35c4292ca88985e376e613c900a",
"https://git.kernel.org/stable/c/641de086a05f349de7fc548612432bc2fed721ca",
"https://git.kernel.org/stable/c/720554c04acba80018ded069d3e0984bebaee891",
"https://git.kernel.org/stable/c/84d5727cef8eb9c8a28210ad248f1c70b223b065",
"https://git.kernel.org/stable/c/231542f4e43cf9837cb520664545e85fbe666b7b",
"https://git.kernel.org/stable/c/2299822f3f466b5dcad2377bf63986199f881a6b"
],
"provider_metadata": {
"cna": {
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux",
"dateUpdated": "2026-10-26T06:56:27.943Z"
}
}
},
"related_cves": [
{
"value": "CVE-2026-98900",
"evidence": "/cveMetadata/cveId"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-cve",
"document_id": 263358,
"published_at": "2026-10-23T11:54:10.566+00:00"
}