bpf: Copy per-CPU map value padding in copy_map_value_long()
Summary
| CVE | CVE-2026-93174 |
| State | PUBLISHED |
| Assigner | Linux |
| Source Priority | CVE Program / NVD first with legacy fallback |
| Published | 2026-09-17 17:18:13 UTC |
| Updated | 2026-09-17 17:18:13 UTC |
| Description | In the Linux kernel, the following vulnerability has been resolved:
bpf: Copy per-CPU map value padding in copy_map_value_long()
In kernel, per-CPU map elements are stored with
round_up(map->value_size, 8) bytes. On UAPI lookup paths, it copies the
rounded size for each CPU into a temporary buffer.
However, copy_map_value_long() passes 'map->value_size' to
bpf_obj_memcpy(). When the map has special fields, bpf_obj_memcpy() copies
around those fields with memcpy(), and does not copy the tail padding
between 'map->value_size' and round_up(map->value_size, 8).
The temporary UAPI lookup buffers are allocated without __GFP_ZERO. As a
result, when the per-CPU map's value size is not equal to
round_up(map->value_size, 8), UAPI LOOKUP_ELEM and its variants can return
stale heap contents from that padding to user space. The same issue
applies to bpf_iter for per-CPU maps.
Pass round_up(map->value_size, 8) to bpf_obj_memcpy() from
copy_map_value_long(), so per-CPU maps both with and without special
fields copy the entire per-CPU slot. Remove the now redundant round_up()
from bpf_obj_memcpy()'s long_memcpy path. |
Vendor Declared Affected Products
| Source | Vendor | Product | Version | Platforms |
|---|
| CNA |
Linux |
Linux |
affected 448325199f574d33824dbf9121efb03558412966 953e85da53541a8dc3e7ad4e8532f29a34a32eae git |
Not specified |
| CNA |
Linux |
Linux |
affected 448325199f574d33824dbf9121efb03558412966 003bf840ed3326bd01396ce7d5b431cef0d371e7 git |
Not specified |
| CNA |
Linux |
Linux |
affected 448325199f574d33824dbf9121efb03558412966 5e9f69829835521aa2942d1d14bd0990fbc6991e git |
Not specified |
| CNA |
Linux |
Linux |
affected 448325199f574d33824dbf9121efb03558412966 ff3f22ed8d2f350b4c24ee26e33daea5f08d58ef git |
Not specified |
| CNA |
Linux |
Linux |
affected 448325199f574d33824dbf9121efb03558412966 7cf9cd98cf6f0df3befc167ca6b54c07014d71de git |
Not specified |
| CNA |
Linux |
Linux |
affected 6.1 |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.1 semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.6.157 6.6.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.12.110 6.12.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 6.18.52 6.18.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.2.6 7.2.* semver |
Not specified |
| CNA |
Linux |
Linux |
unaffected 7.3-rc1 * original_commit_for_fix |
Not specified |
References
| Reference | Source | Link | Tags |
|---|
| git.kernel.org/stable/c/5e9f69829835521aa2942d1d14bd0990fbc6991e |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/7cf9cd98cf6f0df3befc167ca6b54c07014d71de |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/ff3f22ed8d2f350b4c24ee26e33daea5f08d58ef |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/003bf840ed3326bd01396ce7d5b431cef0d371e7 |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| git.kernel.org/stable/c/953e85da53541a8dc3e7ad4e8532f29a34a32eae |
416baaa9-dc9f-4396-8d5f-8c081fb06d67 |
git.kernel.org |
|
| CVE Program record |
CVE.ORG |
www.cve.org |
canonical |
| NVD vulnerability detail |
NVD |
nvd.nist.gov |
canonical, analysis |
No vendor comments have been submitted for this CVE.
There are currently no legacy QID mappings associated with this CVE.