{"api_version":"1","generated_at":"2026-07-29T03:53:04+00:00","cve":"CVE-2026-64354","urls":{"html":"https://cve.report/CVE-2026-64354","api":"https://cve.report/api/cve/CVE-2026-64354.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-64354","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-64354"},"summary":{"title":"bpf: Validate BTF repeated field counts before expansion","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Validate BTF repeated field counts before expansion\n\nbtf_parse_struct_metas() walks user-supplied BTF during BPF_BTF_LOAD,\nand btf_repeat_fields() expands repeatable fields from array elements\ninto the fixed BTF_FIELDS_MAX scratch array used by btf_parse_fields().\n\nThe remaining-capacity check performs the expanded field count calculation\nin u32. A malformed BTF can wrap that calculation, causing the check to\npass even when the expanded field count exceeds the scratch array\ncapacity. The following memcpy() can then write past the end of the\narray.\n\nUse checked addition and multiplication before copying repeated fields\nand reject impossible counts.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-07-25 10:17:17","updated_at":"2026-07-27 05:16:42"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"baseScore":7.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"references":[{"url":"https://git.kernel.org/stable/c/b9452b594fd3aecbfd4aa0a6a1f741330a37dab7","name":"https://git.kernel.org/stable/c/b9452b594fd3aecbfd4aa0a6a1f741330a37dab7","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c5ff816d5f13900c3f1f3298cfcc61339e056e56","name":"https://git.kernel.org/stable/c/c5ff816d5f13900c3f1f3298cfcc61339e056e56","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/cd407de2ef5dc70f1970b343ffaa16186340fdfd","name":"https://git.kernel.org/stable/c/cd407de2ef5dc70f1970b343ffaa16186340fdfd","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ff77d013b737c0f77d925e2f2c59f0cf3d76bd35","name":"https://git.kernel.org/stable/c/ff77d013b737c0f77d925e2f2c59f0cf3d76bd35","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-64354","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-64354","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 797d73ee232dd1833dec4824bc53a22032e97c1c c5ff816d5f13900c3f1f3298cfcc61339e056e56 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 797d73ee232dd1833dec4824bc53a22032e97c1c cd407de2ef5dc70f1970b343ffaa16186340fdfd git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 797d73ee232dd1833dec4824bc53a22032e97c1c ff77d013b737c0f77d925e2f2c59f0cf3d76bd35 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 797d73ee232dd1833dec4824bc53a22032e97c1c b9452b594fd3aecbfd4aa0a6a1f741330a37dab7 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6f957d972feee9b385ea3ae6530310a84e55ba71 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.11.6 6.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.12","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.96 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.39 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.4 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2-rc1 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"64354","cve":"CVE-2026-64354","epss":"0.001290000","percentile":"0.028850000","score_date":"2026-07-28","updated_at":"2026-07-29 00:05:33"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["kernel/bpf/btf.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"c5ff816d5f13900c3f1f3298cfcc61339e056e56","status":"affected","version":"797d73ee232dd1833dec4824bc53a22032e97c1c","versionType":"git"},{"lessThan":"cd407de2ef5dc70f1970b343ffaa16186340fdfd","status":"affected","version":"797d73ee232dd1833dec4824bc53a22032e97c1c","versionType":"git"},{"lessThan":"ff77d013b737c0f77d925e2f2c59f0cf3d76bd35","status":"affected","version":"797d73ee232dd1833dec4824bc53a22032e97c1c","versionType":"git"},{"lessThan":"b9452b594fd3aecbfd4aa0a6a1f741330a37dab7","status":"affected","version":"797d73ee232dd1833dec4824bc53a22032e97c1c","versionType":"git"},{"status":"affected","version":"6f957d972feee9b385ea3ae6530310a84e55ba71","versionType":"git"},{"lessThan":"6.12","status":"affected","version":"6.11.6","versionType":"semver"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["kernel/bpf/btf.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.12"},{"lessThan":"6.12","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.96","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.39","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.4","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2-rc1","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.96","versionStartIncluding":"6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.39","versionStartIncluding":"6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.4","versionStartIncluding":"6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2-rc1","versionStartIncluding":"6.12","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.11.6","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Validate BTF repeated field counts before expansion\n\nbtf_parse_struct_metas() walks user-supplied BTF during BPF_BTF_LOAD,\nand btf_repeat_fields() expands repeatable fields from array elements\ninto the fixed BTF_FIELDS_MAX scratch array used by btf_parse_fields().\n\nThe remaining-capacity check performs the expanded field count calculation\nin u32. A malformed BTF can wrap that calculation, causing the check to\npass even when the expanded field count exceeds the scratch array\ncapacity. The following memcpy() can then write past the end of the\narray.\n\nUse checked addition and multiplication before copying repeated fields\nand reject impossible counts."}],"metrics":[{"cvssV3_1":{"baseScore":7.8,"baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","version":"3.1"}}],"providerMetadata":{"dateUpdated":"2026-07-27T04:59:52.875Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/c5ff816d5f13900c3f1f3298cfcc61339e056e56"},{"url":"https://git.kernel.org/stable/c/cd407de2ef5dc70f1970b343ffaa16186340fdfd"},{"url":"https://git.kernel.org/stable/c/ff77d013b737c0f77d925e2f2c59f0cf3d76bd35"},{"url":"https://git.kernel.org/stable/c/b9452b594fd3aecbfd4aa0a6a1f741330a37dab7"}],"title":"bpf: Validate BTF repeated field counts before expansion","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-64354","datePublished":"2026-07-25T08:50:12.752Z","dateReserved":"2026-07-19T15:36:31.782Z","dateUpdated":"2026-07-27T04:59:52.875Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-07-25 10:17:17","lastModifiedDate":"2026-07-27 05:16:42","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"64354","Ordinal":"1","Title":"bpf: Validate BTF repeated field counts before expansion","CVE":"CVE-2026-64354","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"64354","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Validate BTF repeated field counts before expansion\n\nbtf_parse_struct_metas() walks user-supplied BTF during BPF_BTF_LOAD,\nand btf_repeat_fields() expands repeatable fields from array elements\ninto the fixed BTF_FIELDS_MAX scratch array used by btf_parse_fields().\n\nThe remaining-capacity check performs the expanded field count calculation\nin u32. A malformed BTF can wrap that calculation, causing the check to\npass even when the expanded field count exceeds the scratch array\ncapacity. The following memcpy() can then write past the end of the\narray.\n\nUse checked addition and multiplication before copying repeated fields\nand reject impossible counts.","Type":"Description","Title":"bpf: Validate BTF repeated field counts before expansion"}]}}}