{"api_version":"1","generated_at":"2026-08-25T21:44:15+00:00","cve":"CVE-2023-54096","urls":{"html":"https://cve.report/CVE-2023-54096","api":"https://cve.report/api/cve/CVE-2023-54096.json","docs":"https://cve.report/api","cve_org":"https://www.cve.org/CVERecord?id=CVE-2023-54096","nvd":"https://nvd.nist.gov/vuln/detail/CVE-2023-54096"},"summary":{"title":"soundwire: fix enumeration completion","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsoundwire: fix enumeration completion\n\nThe soundwire subsystem uses two completion structures that allow\ndrivers to wait for soundwire device to become enumerated on the bus and\ninitialised by their drivers, respectively.\n\nThe code implementing the signalling is currently broken as it does not\nsignal all current and future waiters and also uses the wrong\nreinitialisation function, which can potentially lead to memory\ncorruption if there are still waiters on the queue.\n\nNot signalling future waiters specifically breaks sound card probe\ndeferrals as codec drivers can not tell that the soundwire device is\nalready attached when being reprobed. Some codec runtime PM\nimplementations suffer from similar problems as waiting for enumeration\nduring resume can also timeout despite the device already having been\nenumerated.","state":"PUBLISHED","assigner":"Linux","published_at":"2025-12-24 13:16:11","updated_at":"2026-08-04 10:19:29"},"problem_types":[],"metrics":[{"version":"3.1","source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"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","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"}},{"version":"3.1","source":"CNA","type":"DECLARED","score":"7.8","severity":"HIGH","vector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","data":{"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"}}],"references":[{"url":"https://git.kernel.org/stable/c/a36b522767f3a72688893a472e80c9aa03e67eda","name":"https://git.kernel.org/stable/c/a36b522767f3a72688893a472e80c9aa03e67eda","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/e1d54962a63b6ec04ed0204a3ecca942fde3a6fe","name":"https://git.kernel.org/stable/c/e1d54962a63b6ec04ed0204a3ecca942fde3a6fe","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c40d6b3249b11d60e09d81530588f56233d9aa44","name":"https://git.kernel.org/stable/c/c40d6b3249b11d60e09d81530588f56233d9aa44","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/48d1d0ce0782f995fda678508fdae35c5e9593f0","name":"https://git.kernel.org/stable/c/48d1d0ce0782f995fda678508fdae35c5e9593f0","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://git.kernel.org/stable/c/c5265691cd065464d795de5666dcfb89c26b9bc1","name":"https://git.kernel.org/stable/c/c5265691cd065464d795de5666dcfb89c26b9bc1","refsource":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","tags":[],"title":"","mime":"","httpstatus":"","archivestatus":"0"},{"url":"https://www.cve.org/CVERecord?id=CVE-2023-54096","name":"CVE Program record","refsource":"CVE.ORG","tags":["canonical"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-54096","name":"NVD vulnerability detail","refsource":"NVD","tags":["canonical","analysis"]}],"affected":[{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 48d1d0ce0782f995fda678508fdae35c5e9593f0 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 a36b522767f3a72688893a472e80c9aa03e67eda git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 e1d54962a63b6ec04ed0204a3ecca942fde3a6fe git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 c5265691cd065464d795de5666dcfb89c26b9bc1 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175 c40d6b3249b11d60e09d81530588f56233d9aa44 git","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"affected 5.7","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.7 semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.10.190 5.10.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 5.15.126 5.15.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.1.43 6.1.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.4.8 6.4.* semver","platforms":[]},{"source":"CNA","vendor":"Linux","product":"Linux","version":"unaffected 6.5 * original_commit_for_fix","platforms":[]}],"timeline":[],"solutions":[],"workarounds":[],"exploits":[],"credits":[],"nvd_cpes":[],"vendor_comments":[],"enrichments":{"kev":null,"epss":{"cve_year":"2023","cve_id":"54096","cve":"CVE-2023-54096","epss":"0.001430000","percentile":"0.041010000","score_date":"2026-08-06","updated_at":"2026-08-07 00:14:20"},"legacy_qids":[]},"source_records":{"cve_program":{"containers":{"cna":{"affected":[{"defaultStatus":"unaffected","product":"Linux","programFiles":["drivers/soundwire/bus.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"lessThan":"48d1d0ce0782f995fda678508fdae35c5e9593f0","status":"affected","version":"fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175","versionType":"git"},{"lessThan":"a36b522767f3a72688893a472e80c9aa03e67eda","status":"affected","version":"fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175","versionType":"git"},{"lessThan":"e1d54962a63b6ec04ed0204a3ecca942fde3a6fe","status":"affected","version":"fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175","versionType":"git"},{"lessThan":"c5265691cd065464d795de5666dcfb89c26b9bc1","status":"affected","version":"fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175","versionType":"git"},{"lessThan":"c40d6b3249b11d60e09d81530588f56233d9aa44","status":"affected","version":"fb9469e54fa7a7b6a8137c40ae66c41b8d0ab175","versionType":"git"}]},{"defaultStatus":"affected","product":"Linux","programFiles":["drivers/soundwire/bus.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","vendor":"Linux","versions":[{"status":"affected","version":"5.7"},{"lessThan":"5.7","status":"unaffected","version":"0","versionType":"semver"},{"lessThanOrEqual":"5.10.*","status":"unaffected","version":"5.10.190","versionType":"semver"},{"lessThanOrEqual":"5.15.*","status":"unaffected","version":"5.15.126","versionType":"semver"},{"lessThanOrEqual":"6.1.*","status":"unaffected","version":"6.1.43","versionType":"semver"},{"lessThanOrEqual":"6.4.*","status":"unaffected","version":"6.4.8","versionType":"semver"},{"lessThanOrEqual":"*","status":"unaffected","version":"6.5","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"cpeMatch":[{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.10.190","versionStartIncluding":"5.7","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"5.15.126","versionStartIncluding":"5.7","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.1.43","versionStartIncluding":"5.7","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.4.8","versionStartIncluding":"5.7","vulnerable":true},{"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionEndExcluding":"6.5","versionStartIncluding":"5.7","vulnerable":true}],"negate":false,"operator":"OR"}]}],"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nsoundwire: fix enumeration completion\n\nThe soundwire subsystem uses two completion structures that allow\ndrivers to wait for soundwire device to become enumerated on the bus and\ninitialised by their drivers, respectively.\n\nThe code implementing the signalling is currently broken as it does not\nsignal all current and future waiters and also uses the wrong\nreinitialisation function, which can potentially lead to memory\ncorruption if there are still waiters on the queue.\n\nNot signalling future waiters specifically breaks sound card probe\ndeferrals as codec drivers can not tell that the soundwire device is\nalready attached when being reprobed. Some codec runtime PM\nimplementations suffer from similar problems as waiting for enumeration\nduring resume can also timeout despite the device already having been\nenumerated."}],"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"}}],"providerMetadata":{"dateUpdated":"2026-08-04T09:17:41.460Z","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux"},"references":[{"url":"https://git.kernel.org/stable/c/48d1d0ce0782f995fda678508fdae35c5e9593f0"},{"url":"https://git.kernel.org/stable/c/a36b522767f3a72688893a472e80c9aa03e67eda"},{"url":"https://git.kernel.org/stable/c/e1d54962a63b6ec04ed0204a3ecca942fde3a6fe"},{"url":"https://git.kernel.org/stable/c/c5265691cd065464d795de5666dcfb89c26b9bc1"},{"url":"https://git.kernel.org/stable/c/c40d6b3249b11d60e09d81530588f56233d9aa44"}],"title":"soundwire: fix enumeration completion","x_generator":{"engine":"bippy-1.2.0"}}},"cveMetadata":{"assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","assignerShortName":"Linux","cveId":"CVE-2023-54096","datePublished":"2025-12-24T13:06:23.828Z","dateReserved":"2025-12-24T13:02:52.516Z","dateUpdated":"2026-08-04T09:17:41.460Z","state":"PUBLISHED"},"dataType":"CVE_RECORD","dataVersion":"5.2"},"nvd":{"publishedDate":"2025-12-24 13:16:11","lastModifiedDate":"2026-08-04 10:19:29","problem_types":[],"metrics":{"cvssMetricV31":[{"source":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","type":"Secondary","cvssData":{"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","attackVector":"LOCAL","attackComplexity":"LOW","privilegesRequired":"LOW","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.8,"impactScore":5.9}]},"configurations":[]},"legacy_mitre":{"record":{"CveYear":"2023","CveId":"54096","Ordinal":"1","Title":"soundwire: fix enumeration completion","CVE":"CVE-2023-54096","Year":"2023"},"notes":[{"CveYear":"2023","CveId":"54096","Ordinal":"1","NoteData":"In the Linux kernel, the following vulnerability has been resolved:\n\nsoundwire: fix enumeration completion\n\nThe soundwire subsystem uses two completion structures that allow\ndrivers to wait for soundwire device to become enumerated on the bus and\ninitialised by their drivers, respectively.\n\nThe code implementing the signalling is currently broken as it does not\nsignal all current and future waiters and also uses the wrong\nreinitialisation function, which can potentially lead to memory\ncorruption if there are still waiters on the queue.\n\nNot signalling future waiters specifically breaks sound card probe\ndeferrals as codec drivers can not tell that the soundwire device is\nalready attached when being reprobed. Some codec runtime PM\nimplementations suffer from similar problems as waiting for enumeration\nduring resume can also timeout despite the device already having been\nenumerated.","Type":"Description","Title":"soundwire: fix enumeration completion"}]}}}