{"api_version":"1","generated_at":"2026-08-22T05:28:01+00:00","cve":"CVE-2026-72257","urls":{"html":"https://cve.report/CVE-2026-72257","api":"https://cve.report/api/cve/CVE-2026-72257.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2026-72257","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2026-72257"},"summary":{"title":"ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback\n\nWhen q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf\nand sets them to NULL under graph->lock. A late DSP buffer-done response\ncan race with this: graph_callback() passes the !graph->ar_graph guard\n(not yet NULL), acquires the lock, but then dereferences a now-NULL buf\npointer to read buf[token].phys, crashing at virtual address 0x10.\n\nAdd a NULL check for buf inside the mutex-protected section in both the\nwrite-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and\nread-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail\nout cleanly if buffers have already been freed.\n\nThis problem is only shown up recently while apr bus was updated to\nprocess the commands per service rather from single global queue.","state":"PUBLISHED","assigner":"Linux","published_at":"2026-08-15 06:21:53","updated_at":"2026-08-17 06:18:28"},"problem_types":[],"metrics":[],"references":[{"url":"https://git.kernel.org/stable/c/a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc","name":"https://git.kernel.org/stable/c/a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2e9261761b35f0b67b7487688cd1365f535be0b3","name":"https://git.kernel.org/stable/c/2e9261761b35f0b67b7487688cd1365f535be0b3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/214af790e3a33ab73587de4c925c60a550eae9c6","name":"https://git.kernel.org/stable/c/214af790e3a33ab73587de4c925c60a550eae9c6","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3","name":"https://git.kernel.org/stable/c/2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ec369eac0795cfa8f4d3a0cd35a1e8e15f780331","name":"https://git.kernel.org/stable/c/ec369eac0795cfa8f4d3a0cd35a1e8e15f780331","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/ca028334343a140efda4b22e53cbce2c5e94a489","name":"https://git.kernel.org/stable/c/ca028334343a140efda4b22e53cbce2c5e94a489","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-72257","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-72257","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5477518b8a0e8a45239646acd80c9bafc4401522 a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5477518b8a0e8a45239646acd80c9bafc4401522 ec369eac0795cfa8f4d3a0cd35a1e8e15f780331 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5477518b8a0e8a45239646acd80c9bafc4401522 2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5477518b8a0e8a45239646acd80c9bafc4401522 ca028334343a140efda4b22e53cbce2c5e94a489 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5477518b8a0e8a45239646acd80c9bafc4401522 214af790e3a33ab73587de4c925c60a550eae9c6 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5477518b8a0e8a45239646acd80c9bafc4401522 2e9261761b35f0b67b7487688cd1365f535be0b3 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.16","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.16 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.178 6.1.* 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":"72257","cve":"CVE-2026-72257","epss":"0.002050000","percentile":"0.108880000","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":["sound/soc/qcom/qdsp6/q6apm.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc","status":"affected","version":"5477518b8a0e8a45239646acd80c9bafc4401522","versionType":"git"},{"lessThan":"ec369eac0795cfa8f4d3a0cd35a1e8e15f780331","status":"affected","version":"5477518b8a0e8a45239646acd80c9bafc4401522","versionType":"git"},{"lessThan":"2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3","status":"affected","version":"5477518b8a0e8a45239646acd80c9bafc4401522","versionType":"git"},{"lessThan":"ca028334343a140efda4b22e53cbce2c5e94a489","status":"affected","version":"5477518b8a0e8a45239646acd80c9bafc4401522","versionType":"git"},{"lessThan":"214af790e3a33ab73587de4c925c60a550eae9c6","status":"affected","version":"5477518b8a0e8a45239646acd80c9bafc4401522","versionType":"git"},{"lessThan":"2e9261761b35f0b67b7487688cd1365f535be0b3","status":"affected","version":"5477518b8a0e8a45239646acd80c9bafc4401522","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["sound/soc/qcom/qdsp6/q6apm.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.16"},{"lessThan":"5.16","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.178","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.1.178","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.6.145","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.12.97","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.18.40","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.1.5","versionStartIncluding":"5.16","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"7.2","versionStartIncluding":"5.16","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback\n\nWhen q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf\nand sets them to NULL under graph->lock. A late DSP buffer-done response\ncan race with this: graph_callback() passes the !graph->ar_graph guard\n(not yet NULL), acquires the lock, but then dereferences a now-NULL buf\npointer to read buf[token].phys, crashing at virtual address 0x10.\n\nAdd a NULL check for buf inside the mutex-protected section in both the\nwrite-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and\nread-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail\nout cleanly if buffers have already been freed.\n\nThis problem is only shown up recently while apr bus was updated to\nprocess the commands per service rather from single global queue."}],"providerMetadata":{"dateUpdated":"2026-08-17T05:11:15.758Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/a164e744d8de1c41049bd9a1452a4b6bbf5bd8bc"},{"url":"https://git.kernel.org/stable/c/ec369eac0795cfa8f4d3a0cd35a1e8e15f780331"},{"url":"https://git.kernel.org/stable/c/2c715f8a1e644ce4c3e8be5b0fd3f1f4704b73b3"},{"url":"https://git.kernel.org/stable/c/ca028334343a140efda4b22e53cbce2c5e94a489"},{"url":"https://git.kernel.org/stable/c/214af790e3a33ab73587de4c925c60a550eae9c6"},{"url":"https://git.kernel.org/stable/c/2e9261761b35f0b67b7487688cd1365f535be0b3"}],"title":"ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2026-72257","datePublished":"2026-08-15T05:54:44.448Z","dateReserved":"2026-08-09T03:40:39.915Z","dateUpdated":"2026-08-17T05:11:15.758Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2026-08-15 06:21:53","lastModifiedDate":"2026-08-17 06:18:28","problem_types":[],"metrics":[],"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2026","CveId":"72257","Ordinal":"1","Title":"ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callbac","CVE":"CVE-2026-72257","Year":"2026"},"notes":[{"CveYear":"2026","CveId":"72257","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: qcom: q6apm: fix NULL pointer dereference in graph_callback\n\nWhen q6apm_free_fragments() is called it frees rx_data.buf/tx_data.buf\nand sets them to NULL under graph->lock. A late DSP buffer-done response\ncan race with this: graph_callback() passes the !graph->ar_graph guard\n(not yet NULL), acquires the lock, but then dereferences a now-NULL buf\npointer to read buf[token].phys, crashing at virtual address 0x10.\n\nAdd a NULL check for buf inside the mutex-protected section in both the\nwrite-done (DATA_CMD_RSP_WR_SH_MEM_EP_DATA_BUFFER_DONE_V2) and\nread-done (DATA_CMD_RSP_RD_SH_MEM_EP_DATA_BUFFER_V2) handlers and bail\nout cleanly if buffers have already been freed.\n\nThis problem is only shown up recently while apr bus was updated to\nprocess the commands per service rather from single global queue.","Type":"Description","Title":"ASoC: qcom: q6apm: fix NULL pointer dereference in graph_callbac"}]}}}