{"id":"CVE-2026-64485","state":"PUBLISHED","title":"ALSA: compress: Fix task creation error unwind","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: compress: Fix task creation error unwind\n\nsnd_compr_task_new() allocates the driver task before validating the\nreturned DMA buffers and reserving file descriptors. When either of\nthose later steps fails, the core frees its task wrapper and DMA-buffer\nreferences without calling the driver's task_free() callback. Any\ndriver resources allocated by task_create() are therefore leaked.\n\nThe dual-fd allocation path also jumps to cleanup without storing the\nnegative get_unused_fd_flags() result in retval. Since retval still\ncontains the successful task_create() return value, TASK_CREATE can\nincorrectly report success although the task was discarded.\n\nPreserve the fd allocation errors and call task_free() when failure\noccurs after a successful task_create() callback.","publishedAt":"2026-07-25T08:51:45.301Z","updatedAt":"2026-10-19T20:48:37.025Z","severity":{"score":7.8,"label":"High","version":"3.1","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","source":"Linux"},"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"04177158cf98a79744937893b100020d77e6f9ac","status":"affected","lessThan":"b27a75d42044d9d4709095617730b91b1c4af423","versionType":"git"},{"version":"04177158cf98a79744937893b100020d77e6f9ac","status":"affected","lessThan":"426a9947a38d272d0e19c031658da68e31128667","versionType":"git"},{"version":"04177158cf98a79744937893b100020d77e6f9ac","status":"affected","lessThan":"4a60127debb9e370d6c0e22a307326b624a141f3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/core/compress_offload.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"6.18.39","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.4","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/core/compress_offload.c"]}],"references":["https://git.kernel.org/stable/c/b27a75d42044d9d4709095617730b91b1c4af423","https://git.kernel.org/stable/c/426a9947a38d272d0e19c031658da68e31128667","https://git.kernel.org/stable/c/4a60127debb9e370d6c0e22a307326b624a141f3"],"weaknesses":["CWE-401"],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64485.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64485","state":"PUBLISHED","datePublished":"2026-07-25T08:51:45.301Z","dateUpdated":"2026-10-19T20:48:37.025Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T15:36:31.791Z"},"containers":{"cna":{"title":"ALSA: compress: Fix task creation error unwind","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: compress: Fix task creation error unwind\n\nsnd_compr_task_new() allocates the driver task before validating the\nreturned DMA buffers and reserving file descriptors. When either of\nthose later steps fails, the core frees its task wrapper and DMA-buffer\nreferences without calling the driver's task_free() callback. Any\ndriver resources allocated by task_create() are therefore leaked.\n\nThe dual-fd allocation path also jumps to cleanup without storing the\nnegative get_unused_fd_flags() result in retval. Since retval still\ncontains the successful task_create() return value, TASK_CREATE can\nincorrectly report success although the task was discarded.\n\nPreserve the fd allocation errors and call task_free() when failure\noccurs after a successful task_create() callback."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"04177158cf98a79744937893b100020d77e6f9ac","status":"affected","lessThan":"b27a75d42044d9d4709095617730b91b1c4af423","versionType":"git"},{"version":"04177158cf98a79744937893b100020d77e6f9ac","status":"affected","lessThan":"426a9947a38d272d0e19c031658da68e31128667","versionType":"git"},{"version":"04177158cf98a79744937893b100020d77e6f9ac","status":"affected","lessThan":"4a60127debb9e370d6c0e22a307326b624a141f3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/core/compress_offload.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.13","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.13","versionType":"semver"},{"version":"6.18.39","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.4","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/core/compress_offload.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/b27a75d42044d9d4709095617730b91b1c4af423"},{"url":"https://git.kernel.org/stable/c/426a9947a38d272d0e19c031658da68e31128667"},{"url":"https://git.kernel.org/stable/c/4a60127debb9e370d6c0e22a307326b624a141f3"}],"metrics":[{"cvssV3_1":{"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"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable path requires opening the local ALSA compress accelerator device and issuing SET_PARAMS and TASK_CREATE ioctls; no network or physical-input path reaches it.\nAC:L - The attacker can deterministically exhaust its own file-descriptor table so descriptor allocation fails after task_create succeeds. No race or condition outside the attacker’s control is required.\nPR:L - There are no capable(), ns_capable(), or authentication checks in this path, so an unprivileged user with ordinary access to the ASRC device node can trigger it.\nUI:N - The attacker alone can configure the stream, exhaust descriptors, issue TASK_CREATE, and close the stream. No separate victim action is required.\nS:U - The vulnerable ALSA driver and the affected kernel resources share the same security authority; kernel compromise is a conventional local privilege escalation.\nC:H - Skipping task_free leaves asrc->pair[] referencing a driver object that stream close subsequently frees, producing an attacker-reclaimable UAF in interrupt and power-management paths. Reclaimed DMA-channel pointers can influence kernel control flow and expose arbitrary kernel data.\nI:H - The stale pair is used for writes through completion handling and for an indirect device_terminate_all call through its DMA-channel pointer. Heap reclamation can therefore provide memory-corruption and control-flow-hijacking primitives.\nA:H - The leak exhausts the finite ASRC contexts and exclusive DMA channels, persistently disabling the device. Dereferencing the stale pair during interrupt or suspend/resume handling can also cause a kernel oops, panic, or hang."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T04:56:32.502Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.1.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.13","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"id":"CVE-2026-64485","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"version":"2.0.3","timestamp":"2026-10-16T15:41:21.913434Z"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-401","lang":"en","type":"CWE","description":"CWE-401 Missing Release of Memory after Effective Lifetime"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-10-19T20:48:37.025Z"}}]}}}