« Volver al listado

CVE-2026-93039

Estado: RecibidaAlta (7.4)—

In the Linux kernel, the following vulnerability has been resolved:

ASoC: meson: Keep link pointers valid on realloc failure

meson_card_reallocate_links() grows the DAI link and private data arrays with two consecutive krealloc() calls and updates the owner pointers only after both calls have succeeded.

A successful krealloc() may move the data: it frees the old block and returns a new one. When that happens for the link array and the second krealloc() then fails, card->dai_link still points to the block that krealloc() already freed, and the error path frees the new block too. The probe error path then calls meson_card_clean_references(), which dereferences card->dai_link and kfree()s it again, resulting in a use-after-free and a double free.

Leer descripción completaMostrar menos

Commit card->dai_link and card->num_links right after the first krealloc() succeeds, so the pointer always refers to a valid allocation that meson_card_clean_references() can walk and free. krealloc() with __GFP_ZERO zero-initializes the added entries, so walking them on the error path is safe. With both failure paths reduced to a plain return, drop the goto labels and the error message.

CVSS

Probabilidad de explotación (EPSS)

EPSS (Exploit Prediction Scoring System, de FIRST) estima la probabilidad de que una vulnerabilidad sea explotada en 30 días. Complementa a CVSS (impacto) y a CISA KEV (explotación confirmada).

🎯 Técnicas ATT&CK

Cómo se explota esta vulnerabilidad y qué consigue el atacante, en el lenguaje de MITRE ATT&CK.

Vulnerabilidad local (AV:L) en kernel Linux que permite DoS y fuga de memoria mediante uso posterior a liberación tras fallo de reallocación en ASoC meson.

Inferido por nuestro agente de análisis a partir de la descripción oficial, el vector CVSS y la CWE, y comprobado por un supervisor. Puede contener errores.

🛡️ Mitigaciones ATT&CK que cubren estas técnicas

Tecnologías afectadas (1)

⚠ Inferidas por IA a partir de la descripción — NVD aún no ha analizado esta CVE; no son CPE verificados.

Referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-93039",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "cvssData": {
          "scope": "UNCHANGED",
          "version": "3.1",
          "baseScore": 7.4,
          "attackVector": "LOCAL",
          "baseSeverity": "HIGH",
          "vectorString": "CVSS:3.1/AV:L/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H",
          "integrityImpact": "HIGH",
          "userInteraction": "NONE",
          "attackComplexity": "HIGH",
          "availabilityImpact": "HIGH",
          "privilegesRequired": "NONE",
          "confidentialityImpact": "HIGH"
        },
        "impactScore": 5.9,
        "exploitabilityScore": 1.4
      }
    ]
  },
  "affected": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "affectedData": [
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "de33afc57f24538186bccf4c4f6c65dd38634fd8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "1c1485343b7c1c39dab7ecb9cd16ba49fd0ce642",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "8db0a0fc84e80aa9924e0833aef6cc95df94e5a7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "41e92e0caa1fe3df2efaca346bfcaeb7fb9826ab",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "0b30fbe6bf7cf6499b19dd886f466e7c9e820089",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "8fec16898f184e5f8f8fdd09ff1ced2bd7ffc13d",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "5ed1b048527bebe4529eb6e01c34dcc5d97ba5fe",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7864a79f37b55769b817d5e6c5ae0ca4bfdba93b",
              "lessThan": "2aaa41cf974f83a6fb105422bac4e2f107150774",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "sound/soc/meson/meson-card-utils.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "4.19"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "4.19",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "5.10.270",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.221",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.188",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.6.157",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.110",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.52",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.6",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "sound/soc/meson/meson-card-utils.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-17T17:17:56.977",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0b30fbe6bf7cf6499b19dd886f466e7c9e820089",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/1c1485343b7c1c39dab7ecb9cd16ba49fd0ce642",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/2aaa41cf974f83a6fb105422bac4e2f107150774",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/41e92e0caa1fe3df2efaca346bfcaeb7fb9826ab",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/5ed1b048527bebe4529eb6e01c34dcc5d97ba5fe",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8db0a0fc84e80aa9924e0833aef6cc95df94e5a7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/8fec16898f184e5f8f8fdd09ff1ced2bd7ffc13d",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/de33afc57f24538186bccf4c4f6c65dd38634fd8",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nASoC: meson: Keep link pointers valid on realloc failure\n\nmeson_card_reallocate_links() grows the DAI link and private data\narrays with two consecutive krealloc() calls and updates the owner\npointers only after both calls have succeeded.\n\nA successful krealloc() may move the data: it frees the old block and\nreturns a new one. When that happens for the link array and the second\nkrealloc() then fails, card->dai_link still points to the block that\nkrealloc() already freed, and the error path frees the new block too.\nThe probe error path then calls meson_card_clean_references(), which\ndereferences card->dai_link and kfree()s it again, resulting in a\nuse-after-free and a double free.\n\nCommit card->dai_link and card->num_links right after the first\nkrealloc() succeeds, so the pointer always refers to a valid allocation\nthat meson_card_clean_references() can walk and free. krealloc() with\n__GFP_ZERO zero-initializes the added entries, so walking them on the\nerror path is safe. With both failure paths reduced to a plain return,\ndrop the goto labels and the error message."
    }
  ],
  "lastModified": "2026-09-18T18:18:18.750",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}