CVE-2021-47502 (GCVE-0-2021-47502)
Vulnerability from cvelistv5 – Published: 2024-05-24 15:01 – Updated: 2026-08-05 08:48
VLAI
EPSS
VEX
Title
ASoC: codecs: wcd934x: handle channel mappping list correctly
Summary
In the Linux kernel, the following vulnerability has been resolved:
ASoC: codecs: wcd934x: handle channel mappping list correctly
Currently each channel is added as list to dai channel list, however
there is danger of adding same channel to multiple dai channel list
which endups corrupting the other list where its already added.
This patch ensures that the channel is actually free before adding to
the dai channel list and also ensures that the channel is on the list
before deleting it.
This check was missing previously, and we did not hit this issue as
we were testing very simple usecases with sequence of amixer commands.
Severity
7.8 (High)
SSVC
Exploitation: none
Automatable: no
Technical Impact: partial
CISA Coordinator · CISA-ADP (v2.0.3)
Decision recorded 2024-05-24 19:19 UTC
Assigner
References
Impacted products
2 products
| Vendor | Product | Version | CPE status | |
|---|---|---|---|---|
| Linux | Linux |
Affected:
dd9eb19b567303e4b92747dcfb5deedb182af111 , < 1089dac26c6b4b833323ae6c0ceab29fb30ede72
(git)
Affected: dd9eb19b567303e4b92747dcfb5deedb182af111 , < 339ffb5b56005582aacc860524d2d208604049d1 (git) Affected: dd9eb19b567303e4b92747dcfb5deedb182af111 , < 23ba28616d3063bd4c4953598ed5e439ca891101 (git) |
guessed | |
| Linux | Linux |
Affected:
5.6
Unaffected: 0 , < 5.6 (semver) Unaffected: 5.10.85 , ≤ 5.10.* (semver) Unaffected: 5.15.8 , ≤ 5.15.* (semver) Unaffected: 5.16 , ≤ * (original_commit_for_fix) |
guessed |
{
"containers": {
"adp": [
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2021-47502",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-05-24T19:19:30.436874Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-06-04T17:14:49.622Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
},
{
"providerMetadata": {
"dateUpdated": "2024-08-04T05:39:59.770Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
}
],
"title": "CVE Program Container"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/wcd934x.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "1089dac26c6b4b833323ae6c0ceab29fb30ede72",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
},
{
"lessThan": "339ffb5b56005582aacc860524d2d208604049d1",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
},
{
"lessThan": "23ba28616d3063bd4c4953598ed5e439ca891101",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/wcd934x.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.6"
},
{
"lessThan": "5.6",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.85",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.8",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "5.16",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.85",
"versionStartIncluding": "5.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.8",
"versionStartIncluding": "5.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.16",
"versionStartIncluding": "5.6",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: codecs: wcd934x: handle channel mappping list correctly\n\nCurrently each channel is added as list to dai channel list, however\nthere is danger of adding same channel to multiple dai channel list\nwhich endups corrupting the other list where its already added.\n\nThis patch ensures that the channel is actually free before adding to\nthe dai channel list and also ensures that the channel is on the list\nbefore deleting it.\n\nThis check was missing previously, and we did not hit this issue as\nwe were testing very simple usecases with sequence of amixer commands."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bug is reached via ALSA mixer ioctls (SNDRV_CTL_IOCTL_ELEM_WRITE) on /dev/snd/controlC*, writing DAPM controls such as \"SLIM RX* Mux\" / \"SLIM TX*\" that call slim_rx_mux_put/slim_tx_mixer_put. This requires local device access, not network or physical proximity.\nAC:L - An attacker can reliably trigger corruption with a simple amixer sequence that switches a channel from one AIF to another without returning to ZERO, which performs list_add_tail on a node still linked on another DAI list. No race or external conditions are required; the commit notes this occurs with sequential amixer commands.\nPR:L - snd_ctl_elem_write has no capability check; access is only via /dev/snd/controlC* permissions (typically root:audio 0660). On WCD934x devices (e.g. Qualcomm phones), an unprivileged local user or process in the audio group can exercise these controls, which is Low privilege, not root.\nUI:N - The attacker opens the ALSA control device and writes mixer values directly; no victim action such as mounting a filesystem or opening a malicious file is required.\nS:U - Impact stays within the host kernel\u2019s authority (local memory corruption / privilege escalation). There is no VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - Double-linking a channel corrupts DAI slim_ch_list pointers so list_for_each_entry can follow into another list_head and container_of it as a wcd934x_slim_ch (list is not at offset 0), yielding type-confused reads of adjacent kernel memory. Per memory-corruption guidance this is High confidentiality impact.\nI:H - Kernel linked-list corruption and type-confused list walks/list_del updates can poison next/prev pointers and produce write-what-where style integrity damage, enabling control-flow hijacking rather than a pure crash. This meets High integrity impact for exploitable memory corruption.\nA:H - Corrupted lists cause infinite list walks (kernel hang) or oopses when DAPM/PCM paths (enable_slim, set_hw_params, get_channel_map) iterate slim_ch_list, which is High availability impact."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T08:48:08.082Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
},
{
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
}
],
"title": "ASoC: codecs: wcd934x: handle channel mappping list correctly",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2021-47502",
"datePublished": "2024-05-24T15:01:49.699Z",
"dateReserved": "2024-05-22T06:20:56.204Z",
"dateUpdated": "2026-08-05T08:48:08.082Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"vulnerability-lookup:meta": {
"epss": {
"cve": "CVE-2021-47502",
"date": "2026-09-19",
"epss": "0.00245",
"percentile": "0.1605"
},
"fkie_nvd": {
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: codecs: wcd934x: handle channel mappping list correctly\n\nCurrently each channel is added as list to dai channel list, however\nthere is danger of adding same channel to multiple dai channel list\nwhich endups corrupting the other list where its already added.\n\nThis patch ensures that the channel is actually free before adding to\nthe dai channel list and also ensures that the channel is on the list\nbefore deleting it.\n\nThis check was missing previously, and we did not hit this issue as\nwe were testing very simple usecases with sequence of amixer commands."
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: c\u00f3decs: wcd934x: maneja correctamente la lista de asignaci\u00f3n de canales Actualmente, cada canal se agrega como lista a la lista de canales dai, sin embargo, existe el peligro de agregar el mismo canal a varias listas de canales dai, lo que termina corrompiendo la otra lista donde ya est\u00e1 agregada. Este parche garantiza que el canal est\u00e9 realmente libre antes de agregarlo a la lista de canales dai y tambi\u00e9n garantiza que el canal est\u00e9 en la lista antes de eliminarlo. Esta verificaci\u00f3n faltaba anteriormente y no encontramos este problema ya que est\u00e1bamos probando casos de uso muy simples con una secuencia de comandos de amixer."
}
],
"id": "CVE-2021-47502",
"lastModified": "2024-11-21T06:36:21.280",
"published": "2024-05-24T15:15:10.350",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Awaiting Analysis"
},
"nvd": {
"cve": {
"affected": [
{
"affectedData": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/wcd934x.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "1089dac26c6b4b833323ae6c0ceab29fb30ede72",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
},
{
"lessThan": "339ffb5b56005582aacc860524d2d208604049d1",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
},
{
"lessThan": "23ba28616d3063bd4c4953598ed5e439ca891101",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/wcd934x.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.6"
},
{
"lessThan": "5.6",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.85",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.8",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "5.16",
"versionType": "original_commit_for_fix"
}
]
}
],
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
],
"configurations": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "4647680F-2C60-4192-9716-F3BBCBD68B17",
"versionEndExcluding": "5.10.85",
"versionStartIncluding": "5.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"matchCriteriaId": "6664ACE2-F748-4AE5-B98B-58803B0B2C3E",
"versionEndExcluding": "5.15.8",
"versionStartIncluding": "5.11",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc1:*:*:*:*:*:*",
"matchCriteriaId": "357AA433-37E8-4323-BFB2-3038D6E4B414",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc2:*:*:*:*:*:*",
"matchCriteriaId": "A73429BA-C2D9-4D0C-A75F-06A1CA8B3983",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc3:*:*:*:*:*:*",
"matchCriteriaId": "F621B5E3-E99D-49E7-90B9-EC3B77C95383",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:5.16:rc4:*:*:*:*:*:*",
"matchCriteriaId": "F7BFDCAA-1650-49AA-8462-407DD593F94F",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: codecs: wcd934x: handle channel mappping list correctly\n\nCurrently each channel is added as list to dai channel list, however\nthere is danger of adding same channel to multiple dai channel list\nwhich endups corrupting the other list where its already added.\n\nThis patch ensures that the channel is actually free before adding to\nthe dai channel list and also ensures that the channel is on the list\nbefore deleting it.\n\nThis check was missing previously, and we did not hit this issue as\nwe were testing very simple usecases with sequence of amixer commands."
},
{
"lang": "es",
"value": "En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: ASoC: c\u00f3decs: wcd934x: maneja correctamente la lista de asignaci\u00f3n de canales Actualmente, cada canal se agrega como lista a la lista de canales dai, sin embargo, existe el peligro de agregar el mismo canal a varias listas de canales dai, lo que termina corrompiendo la otra lista donde ya est\u00e1 agregada. Este parche garantiza que el canal est\u00e9 realmente libre antes de agregarlo a la lista de canales dai y tambi\u00e9n garantiza que el canal est\u00e9 en la lista antes de eliminarlo. Esta verificaci\u00f3n faltaba anteriormente y no encontramos este problema ya que est\u00e1bamos probando casos de uso muy simples con una secuencia de comandos de amixer."
}
],
"id": "CVE-2021-47502",
"lastModified": "2026-08-04T10:17:06.273",
"metrics": {
"cvssMetricV31": [
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 7.8,
"baseSeverity": "HIGH",
"confidentialityImpact": "HIGH",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 5.9,
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"type": "Secondary"
},
{
"cvssData": {
"attackComplexity": "LOW",
"attackVector": "LOCAL",
"availabilityImpact": "HIGH",
"baseScore": 5.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "NONE",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H",
"version": "3.1"
},
"exploitabilityScore": 1.8,
"impactScore": 3.6,
"source": "nvd@nist.gov",
"type": "Primary"
}
],
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2021-47502",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-05-24T19:19:30.436874Z",
"version": "2.0.3"
}
}
]
},
"published": "2024-05-24T15:15:10.350",
"references": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
},
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
},
{
"source": "af854a3a-2127-422b-91ae-364da2661108",
"tags": [
"Patch"
],
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
}
],
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"vulnStatus": "Modified",
"weaknesses": [
{
"description": [
{
"lang": "en",
"value": "NVD-CWE-noinfo"
}
],
"source": "nvd@nist.gov",
"type": "Primary"
}
]
}
},
"redhat_vex": {
"aggregate_severity": "Low",
"current_release_date": "2026-08-04T23:02:31+00:00",
"cve": "CVE-2021-47502",
"id": "CVE-2021-47502",
"initial_release_date": "2021-01-01T00:00:00+00:00",
"product_status:known_affected": "42",
"product_status:known_not_affected": "156",
"source": "Red Hat CSAF VEX",
"status": "final",
"title": "kernel: ASoC: codecs: wcd934x: handle channel mappping list correctly",
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2021/cve-2021-47502.json",
"version": "3"
},
"suse_vex": {
"aggregate_severity": "important",
"current_release_date": "2026-09-13T00:01:27Z",
"cve": "CVE-2021-47502",
"id": "CVE-2021-47502",
"initial_release_date": "2024-05-28T03:32:57Z",
"product_status:known_affected": "269",
"product_status:known_not_affected": "224",
"product_status:recommended": "543",
"source": "SUSE CSAF VEX",
"status": "interim",
"title": "SUSE CVE CVE-2021-47502",
"url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2021-47502.json",
"version": "60"
},
"vulnrichment": {
"containers": {
"adp": [
{
"providerMetadata": {
"dateUpdated": "2024-08-04T05:39:59.770Z",
"orgId": "af854a3a-2127-422b-91ae-364da2661108",
"shortName": "CVE"
},
"references": [
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
},
{
"tags": [
"x_transferred"
],
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
}
],
"title": "CVE Program Container"
},
{
"metrics": [
{
"other": {
"content": {
"id": "CVE-2021-47502",
"options": [
{
"Exploitation": "none"
},
{
"Automatable": "no"
},
{
"Technical Impact": "partial"
}
],
"role": "CISA Coordinator",
"timestamp": "2024-05-24T19:19:30.436874Z",
"version": "2.0.3"
},
"type": "ssvc"
}
}
],
"providerMetadata": {
"dateUpdated": "2024-05-24T19:19:41.387Z",
"orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"shortName": "CISA-ADP"
},
"title": "CISA ADP Vulnrichment"
}
],
"cna": {
"affected": [
{
"defaultStatus": "unaffected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/wcd934x.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"lessThan": "1089dac26c6b4b833323ae6c0ceab29fb30ede72",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
},
{
"lessThan": "339ffb5b56005582aacc860524d2d208604049d1",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
},
{
"lessThan": "23ba28616d3063bd4c4953598ed5e439ca891101",
"status": "affected",
"version": "dd9eb19b567303e4b92747dcfb5deedb182af111",
"versionType": "git"
}
]
},
{
"defaultStatus": "affected",
"product": "Linux",
"programFiles": [
"sound/soc/codecs/wcd934x.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"versions": [
{
"status": "affected",
"version": "5.6"
},
{
"lessThan": "5.6",
"status": "unaffected",
"version": "0",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"version": "5.10.85",
"versionType": "semver"
},
{
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"version": "5.15.8",
"versionType": "semver"
},
{
"lessThanOrEqual": "*",
"status": "unaffected",
"version": "5.16",
"versionType": "original_commit_for_fix"
}
]
}
],
"cpeApplicability": [
{
"nodes": [
{
"cpeMatch": [
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.10.85",
"versionStartIncluding": "5.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.15.8",
"versionStartIncluding": "5.6",
"vulnerable": true
},
{
"criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
"versionEndExcluding": "5.16",
"versionStartIncluding": "5.6",
"vulnerable": true
}
],
"negate": false,
"operator": "OR"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: codecs: wcd934x: handle channel mappping list correctly\n\nCurrently each channel is added as list to dai channel list, however\nthere is danger of adding same channel to multiple dai channel list\nwhich endups corrupting the other list where its already added.\n\nThis patch ensures that the channel is actually free before adding to\nthe dai channel list and also ensures that the channel is on the list\nbefore deleting it.\n\nThis check was missing previously, and we did not hit this issue as\nwe were testing very simple usecases with sequence of amixer commands."
}
],
"metrics": [
{
"cvssV3_1": {
"baseScore": 7.8,
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
"version": "3.1"
},
"scenarios": [
{
"lang": "en",
"value": "AV:L - The bug is reached via ALSA mixer ioctls (SNDRV_CTL_IOCTL_ELEM_WRITE) on /dev/snd/controlC*, writing DAPM controls such as \"SLIM RX* Mux\" / \"SLIM TX*\" that call slim_rx_mux_put/slim_tx_mixer_put. This requires local device access, not network or physical proximity.\nAC:L - An attacker can reliably trigger corruption with a simple amixer sequence that switches a channel from one AIF to another without returning to ZERO, which performs list_add_tail on a node still linked on another DAI list. No race or external conditions are required; the commit notes this occurs with sequential amixer commands.\nPR:L - snd_ctl_elem_write has no capability check; access is only via /dev/snd/controlC* permissions (typically root:audio 0660). On WCD934x devices (e.g. Qualcomm phones), an unprivileged local user or process in the audio group can exercise these controls, which is Low privilege, not root.\nUI:N - The attacker opens the ALSA control device and writes mixer values directly; no victim action such as mounting a filesystem or opening a malicious file is required.\nS:U - Impact stays within the host kernel\u2019s authority (local memory corruption / privilege escalation). There is no VM escape, IOMMU bypass, or other cross-boundary scope change.\nC:H - Double-linking a channel corrupts DAI slim_ch_list pointers so list_for_each_entry can follow into another list_head and container_of it as a wcd934x_slim_ch (list is not at offset 0), yielding type-confused reads of adjacent kernel memory. Per memory-corruption guidance this is High confidentiality impact.\nI:H - Kernel linked-list corruption and type-confused list walks/list_del updates can poison next/prev pointers and produce write-what-where style integrity damage, enabling control-flow hijacking rather than a pure crash. This meets High integrity impact for exploitable memory corruption.\nA:H - Corrupted lists cause infinite list walks (kernel hang) or oopses when DAPM/PCM paths (enable_slim, set_hw_params, get_channel_map) iterate slim_ch_list, which is High availability impact."
}
]
}
],
"providerMetadata": {
"dateUpdated": "2026-08-05T08:48:08.082Z",
"orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"shortName": "Linux"
},
"references": [
{
"url": "https://git.kernel.org/stable/c/1089dac26c6b4b833323ae6c0ceab29fb30ede72"
},
{
"url": "https://git.kernel.org/stable/c/339ffb5b56005582aacc860524d2d208604049d1"
},
{
"url": "https://git.kernel.org/stable/c/23ba28616d3063bd4c4953598ed5e439ca891101"
}
],
"title": "ASoC: codecs: wcd934x: handle channel mappping list correctly",
"x_generator": {
"engine": "bippy-1.2.0"
}
}
},
"cveMetadata": {
"assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"assignerShortName": "Linux",
"cveId": "CVE-2021-47502",
"datePublished": "2024-05-24T15:01:49.699Z",
"dateReserved": "2024-05-22T06:20:56.204Z",
"dateUpdated": "2026-08-05T08:48:08.082Z",
"state": "PUBLISHED"
},
"dataType": "CVE_RECORD",
"dataVersion": "5.2"
}
}
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.
Sightings
| Author | Source | Type | Date | Other |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
Loading…
Related by attack behaviour
Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.
Loading…