{"id":"CVE-2026-93174","summary":"bpf: Copy per-CPU map value padding in copy_map_value_long()","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Copy per-CPU map value padding in copy_map_value_long()\n\nIn kernel, per-CPU map elements are stored with\nround_up(map-\u003evalue_size, 8) bytes. On UAPI lookup paths, it copies the\nrounded size for each CPU into a temporary buffer.\n\nHowever, copy_map_value_long() passes 'map-\u003evalue_size' to\nbpf_obj_memcpy(). When the map has special fields, bpf_obj_memcpy() copies\naround those fields with memcpy(), and does not copy the tail padding\nbetween 'map-\u003evalue_size' and round_up(map-\u003evalue_size, 8).\n\nThe temporary UAPI lookup buffers are allocated without __GFP_ZERO. As a\nresult, when the per-CPU map's value size is not equal to\nround_up(map-\u003evalue_size, 8), UAPI LOOKUP_ELEM and its variants can return\nstale heap contents from that padding to user space. The same issue\napplies to bpf_iter for per-CPU maps.\n\nPass round_up(map-\u003evalue_size, 8) to bpf_obj_memcpy() from\ncopy_map_value_long(), so per-CPU maps both with and without special\nfields copy the entire per-CPU slot. Remove the now redundant round_up()\nfrom bpf_obj_memcpy()'s long_memcpy path.","modified":"2026-09-19T03:47:28.388835464Z","published":"2026-09-17T16:12:03.946Z","database_specific":{"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93174.json","cna_assigner":"Linux"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/003bf840ed3326bd01396ce7d5b431cef0d371e7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/5e9f69829835521aa2942d1d14bd0990fbc6991e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/7cf9cd98cf6f0df3befc167ca6b54c07014d71de"},{"type":"WEB","url":"https://git.kernel.org/stable/c/953e85da53541a8dc3e7ad4e8532f29a34a32eae"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ff3f22ed8d2f350b4c24ee26e33daea5f08d58ef"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/93xxx/CVE-2026-93174.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-93174"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"448325199f574d33824dbf9121efb03558412966"},{"fixed":"953e85da53541a8dc3e7ad4e8532f29a34a32eae"},{"fixed":"003bf840ed3326bd01396ce7d5b431cef0d371e7"},{"fixed":"5e9f69829835521aa2942d1d14bd0990fbc6991e"},{"fixed":"ff3f22ed8d2f350b4c24ee26e33daea5f08d58ef"},{"fixed":"7cf9cd98cf6f0df3befc167ca6b54c07014d71de"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93174.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.1.0"},{"fixed":"6.6.157"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.110"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.52"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.6"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-93174.json"}}],"schema_version":"1.9.0"}