{"id":"CVE-2026-72095","title":"dma-fence: Make dma_fence_dedup_array() robust against 0-count input","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\ndma-fence: Make dma_fence_dedup_array() robust against 0-count input\n\ndma_fence_dedup_array() returns 1 when called with num_fences == 0:\nthe for-loop body never execut…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= 575ec9b0c2f11f40535ea737ed5a64792780d1ef < 7aa8f3dba53422465dbe1be8dbb7240304462bb2","Linux >= 575ec9b0c2f11f40535ea737ed5a64792780d1ef < e2d9a2ea178a5da0b4a6693e8ebca5c7fc4d7051","Linux >= 575ec9b0c2f11f40535ea737ed5a64792780d1ef < 77a9298741f8f9e8b963c977f5582ab21c6d3427","Linux 6.16"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T15:51:46.940002Z"},"published":"2026-08-15","updated":"2026-10-16","sourceUpdated":"2026-10-16T15:53:20.529Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-72095","references":[{"url":"https://git.kernel.org/stable/c/7aa8f3dba53422465dbe1be8dbb7240304462bb2"},{"url":"https://git.kernel.org/stable/c/e2d9a2ea178a5da0b4a6693e8ebca5c7fc4d7051"},{"url":"https://git.kernel.org/stable/c/77a9298741f8f9e8b963c977f5582ab21c6d3427"}],"tags":["cve.org"],"epss":0.00173,"epssPercentile":0.06336,"ingestedAt":"2026-10-16T17:24:46.878Z","slug":"CVE-2026-72095","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\ndma-fence: Make dma_fence_dedup_array() robust against 0-count input\n\ndma_fence_dedup_array() returns 1 when called with num_fences == 0:\nthe for-loop body never executes, j stays at 0, and the final\n`return ++j` yields 1. This contradicts both the kernel-doc (\"Return:\nNumber of unique fences remaining in the array\") and the natural\nexpectation that 0 input gives 0 output.\n\nThe caller __dma_fence_unwrap_merge() bails out via the\n`if (count == 0 || count == 1)` fast path and so is save.\n\nBut amdgpu_userq_wait_*() could reach the dedup call with a zero local\ncount and dereference an uninitialized fence slot in the array.\n\nMake the contract match the documentation by returning 0 early. This\nalso skips an unnecessary sort() call on an empty array.\n\n## Affected\n\n- `Linux >= 575ec9b0c2f11f40535ea737ed5a64792780d1ef < 7aa8f3dba53422465dbe1be8dbb7240304462bb2`\n- `Linux >= 575ec9b0c2f11f40535ea737ed5a64792780d1ef < e2d9a2ea178a5da0b4a6693e8ebca5c7fc4d7051`\n- `Linux >= 575ec9b0c2f11f40535ea737ed5a64792780d1ef < 77a9298741f8f9e8b963c977f5582ab21c6d3427`\n- `Linux 6.16`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}