Skip to content
Heist/ feed
Back to feed
HighFix available

ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup

Type: advisorySources: OSV

In the Linux kernel, the following vulnerability has been resolved: ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup Use the control private_free callback to free the associated data block. This ensures that the memory won't leak, whatever way the control gets destroyed. The original implementation didn't actually remove the ALSA controls in hda_cs_dsp_control_remove(). It only freed the internal tracking structure. This meant it was possible to remove/unload the amp driver while leaving its ALSA controls still present in the soundcard. Obviously attempting to access them could cause segfaults or at least dereferencing stale pointers.

Products
Kernel
Affected versions
Not specified
Fixed versions
6.1.93, 6.6.33, 6.9.4
CVEs
CVE-2024-38388
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 05:31 UTC · Revision 1

Source evidence

ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup

core-osv · Original source

Published 21 Jun 2024, 10:18 UTC

In the Linux kernel, the following vulnerability has been resolved: ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup Use the control private_free callback to free the associated data block. This ensures that the memory won't leak, whatever way the control gets destroyed. The original implementation didn't actually remove the ALSA controls in hda_cs_dsp_control_remove(). It only freed the internal tracking structure. This meant it was possible to remove/unload the amp driver while leaving its ALSA controls still present in the soundcard. Obviously attempting to access them could cause segfaults or at least dereferencing stale pointers.

osv:CVE-2024-38388

Kernel

Fixed versions: 6.1.93, 6.6.33, 6.9.4

Complete source record
{
  "id": "8c942b21a37b0449d8432e2734caf9fa5b3408677dbb58d7a447cc84e769abfe",
  "url": "https://osv.dev/vulnerability/CVE-2024-38388",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup",
    "summary": "In the Linux kernel, the following vulnerability has been resolved: ALSA: hda/cs_dsp_ctl: Use private_free for control cleanup Use the control private_free callback to free the associated data block. This ensures that the memory won't leak, whatever way the control gets destroyed. The original implementation didn't actually remove the ALSA controls in hda_cs_dsp_control_remove(). It only freed the internal tracking structure. This meant it was possible to remove/unload the amp driver while leaving its ALSA controls still present in the soundcard. Obviously attempting to access them could cause segfaults or at least dereferencing stale pointers.",
    "evidence": "osv:CVE-2024-38388",
    "products": [
      {
        "name": {
          "value": "Kernel",
          "evidence": "/affected/1/package/name"
        },
        "prerequisites": [],
        "fixed_versions": [
          {
            "value": "6.1.93",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.6.33",
            "evidence": "/affected/1/ranges"
          },
          {
            "value": "6.9.4",
            "evidence": "/affected/1/ranges"
          }
        ],
        "affected_versions": []
      }
    ],
    "severity": "high",
    "structured": {
      "id": "CVE-2024-38388",
      "aliases": [
        "CVE-2024-38388"
      ],
      "metrics": [
        {
          "type": "CVSS_V3",
          "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
              "type": "GIT",
              "events": [
                {
                  "introduced": "3233b978af23f11b4ad4f7f11a9a64bd05702b1f"
                },
                {
                  "fixed": "191dc1b2ff0fb35e7aff15a53224837637df8bff"
                },
                {
                  "fixed": "6e359be4975006ff72818e79dad8fe48293f2eb2"
                },
                {
                  "fixed": "3291486af5636540980ea55bae985f3eaa5b0740"
                },
                {
                  "fixed": "172811e3a557d8681a5e2d0f871dc04a2d17eb13"
                }
              ]
            }
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38388.json"
          }
        },
        {
          "ranges": [
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.0.0"
                },
                {
                  "fixed": "6.1.93"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.2.0"
                },
                {
                  "fixed": "6.6.33"
                }
              ]
            },
            {
              "type": "ECOSYSTEM",
              "events": [
                {
                  "introduced": "6.7.0"
                },
                {
                  "fixed": "6.9.4"
                }
              ]
            }
          ],
          "package": {
            "name": "Kernel",
            "ecosystem": "Linux"
          },
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2024-38388.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.278843264Z",
      "provider": "osv",
      "references": [
        "https://git.kernel.org/stable/c/172811e3a557d8681a5e2d0f871dc04a2d17eb13",
        "https://git.kernel.org/stable/c/191dc1b2ff0fb35e7aff15a53224837637df8bff",
        "https://git.kernel.org/stable/c/3291486af5636540980ea55bae985f3eaa5b0740",
        "https://git.kernel.org/stable/c/6e359be4975006ff72818e79dad8fe48293f2eb2",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38388.json",
        "https://nvd.nist.gov/vuln/detail/CVE-2024-38388",
        "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
      ],
      "provider_metadata": {
        "cna_assigner": "Linux",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/38xxx/CVE-2024-38388.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2024-38388",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492746,
  "published_at": "2024-06-21T10:18:12.995+00:00"
}