126 lines
6.1 KiB
JSON
126 lines
6.1 KiB
JSON
{
|
|
"dataType": "CVE_RECORD",
|
|
"dataVersion": "5.2",
|
|
"cveMetadata": {
|
|
"cveId": "CVE-2026-98149",
|
|
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"state": "PUBLISHED",
|
|
"assignerShortName": "Linux",
|
|
"dateReserved": "2026-09-25T10:25:14.320Z",
|
|
"datePublished": "2026-09-25T10:36:22.182Z",
|
|
"dateUpdated": "2026-10-19T09:14:42.350Z"
|
|
},
|
|
"containers": {
|
|
"cna": {
|
|
"providerMetadata": {
|
|
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
|
|
"shortName": "Linux",
|
|
"dateUpdated": "2026-10-19T09:14:42.350Z"
|
|
},
|
|
"descriptions": [
|
|
{
|
|
"lang": "en",
|
|
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix percpu map update indexing with sparse CPU IDs\n\nPer-CPU array, hash, and cgroup storage map updates without BPF_F_CPU\nor BPF_F_ALL_CPUS use a value buffer whose per-CPU slots are packed in\npossible-CPU order. The buffer is sized as:\n\n round_up(value_size, 8) * num_possible_cpus()\n\nThe update paths iterate over possible CPUs, but use the logical CPU ID\nto calculate the source offset:\n\n value + size * cpu\n\nThis only works when possible CPU IDs are contiguous starting at zero.\n\nFor example, with a possible CPU mask of 0,2-3, the buffer contains\nthree slots corresponding to CPUs 0, 2, and 3. CPU2 is therefore\nexpected to use slot 1 and CPU3 slot 2. Instead, the current code uses\nslots 2 and 3 respectively, causing incorrect per-CPU values and an\nout-of-bounds read from the update buffer for CPU3.\n\nThe corresponding lookup paths already use a dense offset while\niterating over possible CPUs. Do the same for the array, hash, and\ncgroup storage update paths, advancing the source offset once for each\npossible CPU. BPF_F_ALL_CPUS continues to use the same value for every\nCPU."
|
|
}
|
|
],
|
|
"affected": [
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "unaffected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"kernel/bpf/arraymap.c",
|
|
"kernel/bpf/hashtab.c",
|
|
"kernel/bpf/local_storage.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "8eb76cb03f0f6c2bd7b15cf45dcffcd6bd07a360",
|
|
"lessThan": "c16c62c91e5d6737a9fbb0a541b8b34610470a2b",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
},
|
|
{
|
|
"version": "8eb76cb03f0f6c2bd7b15cf45dcffcd6bd07a360",
|
|
"lessThan": "75b0a6db4300e4c2c9e97a0848deaa7acfb42fb7",
|
|
"status": "affected",
|
|
"versionType": "git"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"product": "Linux",
|
|
"vendor": "Linux",
|
|
"defaultStatus": "affected",
|
|
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
|
|
"programFiles": [
|
|
"kernel/bpf/arraymap.c",
|
|
"kernel/bpf/hashtab.c",
|
|
"kernel/bpf/local_storage.c"
|
|
],
|
|
"versions": [
|
|
{
|
|
"version": "7.0",
|
|
"status": "affected"
|
|
},
|
|
{
|
|
"version": "0",
|
|
"lessThan": "7.0",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.2.7",
|
|
"lessThanOrEqual": "7.2.*",
|
|
"status": "unaffected",
|
|
"versionType": "semver"
|
|
},
|
|
{
|
|
"version": "7.3",
|
|
"lessThanOrEqual": "*",
|
|
"status": "unaffected",
|
|
"versionType": "original_commit_for_fix"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"cpeApplicability": [
|
|
{
|
|
"nodes": [
|
|
{
|
|
"operator": "OR",
|
|
"negate": false,
|
|
"cpeMatch": [
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "7.0",
|
|
"versionEndExcluding": "7.2.7"
|
|
},
|
|
{
|
|
"vulnerable": true,
|
|
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
|
|
"versionStartIncluding": "7.0",
|
|
"versionEndExcluding": "7.3"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"references": [
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/c16c62c91e5d6737a9fbb0a541b8b34610470a2b"
|
|
},
|
|
{
|
|
"url": "https://git.kernel.org/stable/c/75b0a6db4300e4c2c9e97a0848deaa7acfb42fb7"
|
|
}
|
|
],
|
|
"title": "bpf: Fix percpu map update indexing with sparse CPU IDs",
|
|
"x_generator": {
|
|
"engine": "bippy-1.2.0"
|
|
}
|
|
}
|
|
}
|
|
} |