« Volver al listado

CVE-2026-68271

Estado: RecibidaSin puntuar—

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

drm/nouveau: fix reversed error cleanup order in ucopy functions

nouveau_uvmm_vm_bind_ucopy() and nouveau_exec_ucopy() place their error cleanup labels in allocation order rather than reverse allocation order. On a u_memcpya() failure for in_sync.s, the goto to err_free_ops (or err_free_pushs) frees the first allocation and then falls through to err_free_ins, which calls u_free() on args->in_sync.s.

Since args->in_sync.s still holds the ERR_PTR returned by the failed u_memcpya(), and ERR_PTR values are not caught by ZERO_OR_NULL_PTR(), kvfree() proceeds to dereference it, which can result in a kernel oops.

Leer descripción completaMostrar menos

A failure for out_sync.s instead jumps to err_free_ins and skips freeing the first allocation, leading to a memory leak.

Fix by swapping the cleanup label order so resources are freed in the correct reverse allocation sequence.

CVSS

NVD no ha asignado puntuación CVSS a esta CVE (habitual desde el cambio de política de abril de 2026).

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).

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-68271",
  "cveTags": [],
  "metrics": {},
  "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": "b88baab828713ce0b49b185444b2ee83bed373a8",
              "lessThan": "2473ac314387a5def7244eb6d6a345934ed140bf",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b88baab828713ce0b49b185444b2ee83bed373a8",
              "lessThan": "e15c25c7972d38a9f6bf8c3f7f29179a67263eba",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b88baab828713ce0b49b185444b2ee83bed373a8",
              "lessThan": "4e109faa9ea2b6c04cc5a99e76db3126575a59d1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b88baab828713ce0b49b185444b2ee83bed373a8",
              "lessThan": "ebbaf64d2635d1e78196c067fa8fa582a7dc17f7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "b88baab828713ce0b49b185444b2ee83bed373a8",
              "lessThan": "ab99ead646b1b833ecd57fe577a2816f2e848167",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/gpu/drm/nouveau/nouveau_exec.c",
            "drivers/gpu/drm/nouveau/nouveau_uvmm.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.6"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.6",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.6.148",
              "versionType": "semver",
              "lessThanOrEqual": "6.6.*"
            },
            {
              "status": "unaffected",
              "version": "6.12.101",
              "versionType": "semver",
              "lessThanOrEqual": "6.12.*"
            },
            {
              "status": "unaffected",
              "version": "6.18.42",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.1.6",
              "versionType": "semver",
              "lessThanOrEqual": "7.1.*"
            },
            {
              "status": "unaffected",
              "version": "7.2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/gpu/drm/nouveau/nouveau_exec.c",
            "drivers/gpu/drm/nouveau/nouveau_uvmm.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-08-10T13:20:16.097",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/2473ac314387a5def7244eb6d6a345934ed140bf",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4e109faa9ea2b6c04cc5a99e76db3126575a59d1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ab99ead646b1b833ecd57fe577a2816f2e848167",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e15c25c7972d38a9f6bf8c3f7f29179a67263eba",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/ebbaf64d2635d1e78196c067fa8fa582a7dc17f7",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/nouveau: fix reversed error cleanup order in ucopy functions\n\nnouveau_uvmm_vm_bind_ucopy() and nouveau_exec_ucopy() place their error\ncleanup labels in allocation order rather than reverse allocation order.\nOn a u_memcpya() failure for in_sync.s, the goto to err_free_ops (or\nerr_free_pushs) frees the first allocation and then falls through to\nerr_free_ins, which calls u_free() on args->in_sync.s.\n\nSince args->in_sync.s still holds the ERR_PTR returned by the failed\nu_memcpya(), and ERR_PTR values are not caught by ZERO_OR_NULL_PTR(),\nkvfree() proceeds to dereference it, which can result in a kernel oops.\nA failure for out_sync.s instead jumps to err_free_ins and skips freeing\nthe first allocation, leading to a memory leak.\n\nFix by swapping the cleanup label order so resources are freed in the\ncorrect reverse allocation sequence."
    }
  ],
  "lastModified": "2026-08-17T05:18:29.633",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}