« Volver al listado

CVE-2026-89870

Estado: RecibidaAlta (7.8)—

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

media: zoran: Avoid freeing a registered video_device twice

zoran_init_video_device() installs zoran_vdev_release() as the video_device release callback through zoran_template. After video_register_device() succeeds, video_unregister_device() drops the registered video_device reference and the V4L2 core eventually invokes that release callback, which kfree()s the video_device.

zoran_exit_video_devices() called video_unregister_device() and then kfree(zr->video_dev), so device teardown could free the same video_device twice.

Remove the direct kfree() and clear the cached pointer after unregistering. The pre-registration failure path keeps its manual free because the video_device was not registered there.

Leer descripción completaMostrar menos

This issue was found by a static analysis checker and confirmed by manual source review.

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 de escalada de privilegios local en kernel Linux (AV:L, PR:L) que causa doble liberación de memoria (double-free), permitiendo denegación de servicio o corrupción de memoria con privilegios locales.

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-89870",
  "cveTags": [],
  "metrics": {
    "cvssMetricV31": [
      {
        "type": "Secondary",
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "cvssData": {
          "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"
        },
        "impactScore": 5.9,
        "exploitabilityScore": 1.8
      }
    ]
  },
  "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": "82e3a496eb56da0b9f29fdc5b63cedb3289e91de",
              "lessThan": "3ad6cf27505017a6794f5f96c31218c2291e951b",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "82e3a496eb56da0b9f29fdc5b63cedb3289e91de",
              "lessThan": "c4acac8cdc005b2d14b6cef5e215d264212857f3",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "82e3a496eb56da0b9f29fdc5b63cedb3289e91de",
              "lessThan": "4d99d8d0d895489064783601a516bd45812fa992",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "82e3a496eb56da0b9f29fdc5b63cedb3289e91de",
              "lessThan": "f1c4f3885df1f09bcab5296d86834d104f865e86",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "82e3a496eb56da0b9f29fdc5b63cedb3289e91de",
              "lessThan": "672dbccf4351370dad002d3c78dbb29ca1588f22",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "82e3a496eb56da0b9f29fdc5b63cedb3289e91de",
              "lessThan": "0735e0b5a96761a9ce277a238e834008ad92a0a5",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "bd01629315ffd5b63da91d0bd529a77d30e55028",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ff3357bffd9fb78f59762d8955afc7382a279079",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "c1ba65100a359fe28cfe37e09e10c99f247cbf1e",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "1e501ec38796f43e995731d1bcd4173cb1ccfce0",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "5.10.110",
              "lessThan": "5.11",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "5.15.33",
              "lessThan": "5.16",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "5.16.19",
              "lessThan": "5.17",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "5.17.2",
              "lessThan": "5.18",
              "versionType": "semver"
            }
          ],
          "programFiles": [
            "drivers/media/pci/zoran/zoran_card.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.18"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.18",
              "versionType": "semver"
            },
            {
              "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.51",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.5",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3-rc1",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/media/pci/zoran/zoran_card.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-16T11:16:55.153",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0735e0b5a96761a9ce277a238e834008ad92a0a5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/3ad6cf27505017a6794f5f96c31218c2291e951b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4d99d8d0d895489064783601a516bd45812fa992",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/672dbccf4351370dad002d3c78dbb29ca1588f22",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/c4acac8cdc005b2d14b6cef5e215d264212857f3",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f1c4f3885df1f09bcab5296d86834d104f865e86",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmedia: zoran: Avoid freeing a registered video_device twice\n\nzoran_init_video_device() installs zoran_vdev_release() as the\nvideo_device release callback through zoran_template. After\nvideo_register_device() succeeds, video_unregister_device() drops the\nregistered video_device reference and the V4L2 core eventually invokes\nthat release callback, which kfree()s the video_device.\n\nzoran_exit_video_devices() called video_unregister_device() and then\nkfree(zr->video_dev), so device teardown could free the same\nvideo_device twice.\n\nRemove the direct kfree() and clear the cached pointer after\nunregistering. The pre-registration failure path keeps its manual free\nbecause the video_device was not registered there.\n\nThis issue was found by a static analysis checker and confirmed by\nmanual source review."
    }
  ],
  "lastModified": "2026-09-16T15:18:14.187",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}