{"api_version":"1","generated_at":"2026-09-04T02:53:00+00:00","cve":"CVE-2026-72158","urls":{"html":"https://cve.report/CVE-2026-72158","api":"https://cve.report/api/cve/CVE-2026-72158.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-72158","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-72158"},"summary":{"title":"fpga: dfl: add bounds check in dfh_get_param_size()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nfpga: dfl: add bounds check in dfh_get_param_size()\n\ndfh_get_param_size() can return a parameter size larger than the feature\nregion because the loop bounds check is evaluated before incrementing\nsize. If the EOP (End of Parameters) bit is set in the same iteration,\nthe inflated size is returned without re-validation against max.\n\nThis can cause create_feature_instance() to call memcpy_fromio() with a\nsize exceeding the ioremap'd region when a malicious FPGA device provides\ncrafted DFHv1 parameter headers.\n\nAdd a bounds check after the size increment to ensure the accumulated\nsize never exceeds the feature boundary.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:21:33","updated_at":"2026-08-17 06:18:16"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/b2f6220e929b2a43605331d0139e65dc1640c05c","name":"https://git.kernel.org/stable/c/b2f6220e929b2a43605331d0139e65dc1640c05c","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/f3df5386e3bb54626c117bd85e0158d45fb4aea9","name":"https://git.kernel.org/stable/c/f3df5386e3bb54626c117bd85e0158d45fb4aea9","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/3b622aa447cf26104f96a8be39539367863bc6b6","name":"https://git.kernel.org/stable/c/3b622aa447cf26104f96a8be39539367863bc6b6","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/012683accbb7d2bcf1264f2a0ecd6aa1dcea4d68","name":"https://git.kernel.org/stable/c/012683accbb7d2bcf1264f2a0ecd6aa1dcea4d68","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/9e8bc49f91f3f81d957c4f1c1f09fe94e2f88f6a","name":"https://git.kernel.org/stable/c/9e8bc49f91f3f81d957c4f1c1f09fe94e2f88f6a","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72158","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72158","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4747ab89b4a652f835494fcf8342aaa0efb9b0fd b2f6220e929b2a43605331d0139e65dc1640c05c git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4747ab89b4a652f835494fcf8342aaa0efb9b0fd 3b622aa447cf26104f96a8be39539367863bc6b6 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4747ab89b4a652f835494fcf8342aaa0efb9b0fd 012683accbb7d2bcf1264f2a0ecd6aa1dcea4d68 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4747ab89b4a652f835494fcf8342aaa0efb9b0fd f3df5386e3bb54626c117bd85e0158d45fb4aea9 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 4747ab89b4a652f835494fcf8342aaa0efb9b0fd 9e8bc49f91f3f81d957c4f1c1f09fe94e2f88f6a git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 6.3","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.3 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.6.145 6.6.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.12.97 6.12.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.18.40 6.18.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.1.5 7.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 7.2 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2026","cve_id":"72158","cve":"CVE-2026-72158","epss":"0.002000000","percentile":"0.101660000","score_date":"2026-08-17","updated_at":"2026-08-18 00:11:47"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/fpga/dfl.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"b2f6220e929b2a43605331d0139e65dc1640c05c","status":"affected","version":"4747ab89b4a652f835494fcf8342aaa0efb9b0fd","versionType":"git"},{"lessThan":"3b622aa447cf26104f96a8be39539367863bc6b6","status":"affected","version":"4747ab89b4a652f835494fcf8342aaa0efb9b0fd","versionType":"git"},{"lessThan":"012683accbb7d2bcf1264f2a0ecd6aa1dcea4d68","status":"affected","version":"4747ab89b4a652f835494fcf8342aaa0efb9b0fd","versionType":"git"},{"lessThan":"f3df5386e3bb54626c117bd85e0158d45fb4aea9","status":"affected","version":"4747ab89b4a652f835494fcf8342aaa0efb9b0fd","versionType":"git"},{"lessThan":"9e8bc49f91f3f81d957c4f1c1f09fe94e2f88f6a","status":"affected","version":"4747ab89b4a652f835494fcf8342aaa0efb9b0fd","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/fpga/dfl.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"6.3"},{"lessThan":"6.3","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.6.*","status":"unaffected","version":"6.6.145","versionType":"semver"},{"lessThanOrEqual":"6.12.*","status":"unaffected","version":"6.12.97","versionType":"semver"},{"lessThanOrEqual":"6.18.*","status":"unaffected","version":"6.18.40","versionType":"semver"},{"lessThanOrEqual":"7.1.*","status":"unaffected","version":"7.1.5","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"7.2","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.145","versionStartIncluding":"6.3","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.97","versionStartIncluding":"6.3","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.40","versionStartIncluding":"6.3","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"6.3","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","versionStartIncluding":"6.3","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nfpga: dfl: add bounds check in dfh_get_param_size()\n\ndfh_get_param_size() can return a parameter size larger than the feature\nregion because the loop bounds check is evaluated before incrementing\nsize. If the EOP (End of Parameters) bit is set in the same iteration,\nthe inflated size is returned without re-validation against max.\n\nThis can cause create_feature_instance() to call memcpy_fromio() with a\nsize exceeding the ioremap'd region when a malicious FPGA device provides\ncrafted DFHv1 parameter headers.\n\nAdd a bounds check after the size increment to ensure the accumulated\nsize never exceeds the feature boundary."}],"providerMetadata":{"dateUpdated":"2026-08-17T05:09:18.602Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/b2f6220e929b2a43605331d0139e65dc1640c05c"},{"url":"https://git.kernel.org/stable/c/3b622aa447cf26104f96a8be39539367863bc6b6"},{"url":"https://git.kernel.org/stable/c/012683accbb7d2bcf1264f2a0ecd6aa1dcea4d68"},{"url":"https://git.kernel.org/stable/c/f3df5386e3bb54626c117bd85e0158d45fb4aea9"},{"url":"https://git.kernel.org/stable/c/9e8bc49f91f3f81d957c4f1c1f09fe94e2f88f6a"}],"title":"fpga: dfl: add bounds check in dfh_get_param_size()","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-72158","datePublished":"2026-08-15T05:53:27.454Z","dateReserved":"2026-08-09T03:40:39.909Z","dateUpdated":"2026-08-17T05:09:18.602Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 06:21:33","lastModifiedDate":"2026-08-17 06:18:16","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"72158","Ordinal":"1","Title":"fpga: dfl: add bounds check in dfh_get_param_size()","CVE":"CVE-2026-72158","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"72158","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nfpga: dfl: add bounds check in dfh_get_param_size()\n\ndfh_get_param_size() can return a parameter size larger than the feature\nregion because the loop bounds check is evaluated before incrementing\nsize. If the EOP (End of Parameters) bit is set in the same iteration,\nthe inflated size is returned without re-validation against max.\n\nThis can cause create_feature_instance() to call memcpy_fromio() with a\nsize exceeding the ioremap'd region when a malicious FPGA device provides\ncrafted DFHv1 parameter headers.\n\nAdd a bounds check after the size increment to ensure the accumulated\nsize never exceeds the feature boundary.","Type":"Description","Title":"fpga: dfl: add bounds check in dfh_get_param_size()"}]}}}