{"id":"CVE-2023-52988","state":"PUBLISHED","title":"ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()\n\nsnd_hda_get_connections() can return a negative error code.\nIt may lead to accessing 'conn' array at a negative index.\n\nFound by Linux Verification Center (linuxtesting.org) with SVACE.","publishedAt":"2025-03-27T16:43:25.056Z","updatedAt":"2026-08-05T09:12:17.567Z","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":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"437e50ef6290ac835d526d0e45f466a0aa69ba1b","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"6e1f586ddec48d71016b81acf68ba9f49ca54db8","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"d6870f3800dbb212ae8433183ee82f566d067c6c","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"2b557fa635e7487f638c0f030c305870839eeda2","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"1b9256c96220bcdba287eeeb90e7c910c77f8c46","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"f011360ad234a07cb6fbcc720fff646a93a9f0d6","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"b9cee506da2b7920b5ea02ccd8e78a907d0ee7aa","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/pci/hda/patch_via.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.1","versionType":"semver"},{"version":"4.14.306","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.273","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.232","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.168","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.93","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.11","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/pci/hda/patch_via.c"]}],"references":["https://git.kernel.org/stable/c/437e50ef6290ac835d526d0e45f466a0aa69ba1b","https://git.kernel.org/stable/c/6e1f586ddec48d71016b81acf68ba9f49ca54db8","https://git.kernel.org/stable/c/d6870f3800dbb212ae8433183ee82f566d067c6c","https://git.kernel.org/stable/c/2b557fa635e7487f638c0f030c305870839eeda2","https://git.kernel.org/stable/c/1b9256c96220bcdba287eeeb90e7c910c77f8c46","https://git.kernel.org/stable/c/f011360ad234a07cb6fbcc720fff646a93a9f0d6","https://git.kernel.org/stable/c/b9cee506da2b7920b5ea02ccd8e78a907d0ee7aa"],"weaknesses":["CWE-129"],"ingestedAt":"2026-10-29T20:06:33.064Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2023/52xxx/CVE-2023-52988.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-52988","state":"PUBLISHED","datePublished":"2025-03-27T16:43:25.056Z","dateUpdated":"2026-08-05T09:12:17.567Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-03-27T16:40:15.741Z"},"containers":{"cna":{"title":"ALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nALSA: hda/via: Avoid potential array out-of-bound in add_secret_dac_path()\n\nsnd_hda_get_connections() can return a negative error code.\nIt may lead to accessing 'conn' array at a negative index.\n\nFound by Linux Verification Center (linuxtesting.org) with SVACE."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"437e50ef6290ac835d526d0e45f466a0aa69ba1b","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"6e1f586ddec48d71016b81acf68ba9f49ca54db8","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"d6870f3800dbb212ae8433183ee82f566d067c6c","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"2b557fa635e7487f638c0f030c305870839eeda2","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"1b9256c96220bcdba287eeeb90e7c910c77f8c46","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"f011360ad234a07cb6fbcc720fff646a93a9f0d6","versionType":"git"},{"version":"30b4503378c976cf66201a1e81820519f6bd79ac","status":"affected","lessThan":"b9cee506da2b7920b5ea02ccd8e78a907d0ee7aa","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/pci/hda/patch_via.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.1","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.1","versionType":"semver"},{"version":"4.14.306","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.273","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.232","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.168","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.93","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.11","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["sound/pci/hda/patch_via.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/437e50ef6290ac835d526d0e45f466a0aa69ba1b"},{"url":"https://git.kernel.org/stable/c/6e1f586ddec48d71016b81acf68ba9f49ca54db8"},{"url":"https://git.kernel.org/stable/c/d6870f3800dbb212ae8433183ee82f566d067c6c"},{"url":"https://git.kernel.org/stable/c/2b557fa635e7487f638c0f030c305870839eeda2"},{"url":"https://git.kernel.org/stable/c/1b9256c96220bcdba287eeeb90e7c910c77f8c46"},{"url":"https://git.kernel.org/stable/c/f011360ad234a07cb6fbcc720fff646a93a9f0d6"},{"url":"https://git.kernel.org/stable/c/b9cee506da2b7920b5ea02ccd8e78a907d0ee7aa"}],"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 runs only during VIA HD-audio codec probe (`hda_codec_driver_probe` → `patch_vt1718S`/`patch_vt2002P`/`patch_vt1812`/`patch_vt3476` → `add_secret_dac_path`), reached via local driver bind/module autoload on systems with affected VIA codecs—not via network or remote peer input.\nAC:L - An attacker can force `snd_hda_get_connections()` to fail with `-ENOMEM` by exhausting memory before codec bind/autoload (same pattern as CVE-2023-52999), and VIA codecs with analog DAC widgets then hit the `conn[nums++]=nid` path deterministically; no uncontrollable race is required.\nPR:L - Direct sysfs rebind needs root, but an unprivileged audio-capable user can trigger ALSA lazy module autoload (`/dev/aloadC*` → `request_module` of the VIA codec driver) as in CVE-2025-68205, and a local account is enough to leverage boot-time probe corruption.\nUI:N - Codec probe is system-driven (boot bind or attacker-initiated autoload); no separate victim must open a file, mount media, or otherwise interact.\nS:U - The stack underflow corrupts kernel stack memory in the same host kernel authority; this is not a VM escape, IOMMU bypass, or sandbox boundary cross.\nC:H - When `nums` is a negative error code, `conn[nums++]=nid` is a stack out-of-bounds write; under scoring guidance, OOB write memory corruption is treatable as High confidentiality impact (same treatment as CVE-2023-52999).\nI:H - The bug is a stack out-of-bounds write of a widget NID below the on-stack `conn[8]` array, which is memory-corruption integrity impact and can corrupt frame/control data for control-flow hijack; OOB write scores High.\nA:H - Stack corruption from the negative-index write (and continued probe with a corrupted frame, since callers ignore `add_secret_dac_path()`’s return) can produce an oops/panic; any kernel crash is High availability impact."}]}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-05T09:12:17.567Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"4.14.306"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"4.19.273"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"5.4.232"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"5.10.168"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"5.15.93"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"6.1.11"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.1","versionEndExcluding":"6.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":7.8,"attackVector":"LOCAL","baseSeverity":"HIGH","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","integrityImpact":"HIGH","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"HIGH"}},{"other":{"type":"ssvc","content":{"timestamp":"2025-10-01T17:20:44.580398Z","id":"CVE-2023-52988","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-129","type":"CWE","lang":"en","description":"CWE-129 Improper Validation of Array Index"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-10-01T17:20:48.141Z"}}]}}}