« Volver al listado

CVE-2026-90022

Estado: RecibidaAlta (7.8)—

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

usb: gadget: f_midi2: fix use-after-free in string attribute show path

f_midi2_opts_str_show() takes the string lock internally, but its callers dereference the opts->info.<field> pointer before calling it, outside the lock. This races with f_midi2_opts_str_store(), which frees the old string under opts->lock when the attribute is written concurrently, the show path can read a pointer that gets freed before the lock inside str_show() is even taken.

Change f_midi2_opts_str_show() to take a pointer to the string field, matching the existing pattern in f_midi2_opts_str_store(), and dereference it only after the lock is held.

Leer descripción completaMostrar menos

Update all three callers (iface_name, block name, and the EP string option macro) accordingly.

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 use-after-free en el kernel de Linux accesible localmente (AV:L, PR:L) permitiendo lectura y corrupción de memoria; potencial DoS y fuga de datos (C:H, I:H, A:H).

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-90022",
  "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": "29ee7a4dddd5caa18d1cef000f20c6af43f762f1",
              "lessThan": "f9bdf4c4f6410a1dfafafa383a0e21069372657f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "29ee7a4dddd5caa18d1cef000f20c6af43f762f1",
              "lessThan": "d11f3300b39e2daad2f0d9d66ddcc39a156cb594",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "29ee7a4dddd5caa18d1cef000f20c6af43f762f1",
              "lessThan": "e89e30f0b5d3004fe5955250bd8b04f3733e32ce",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "29ee7a4dddd5caa18d1cef000f20c6af43f762f1",
              "lessThan": "49fab5e1bdb205c36c965d0e9677bc40d282d3a2",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "29ee7a4dddd5caa18d1cef000f20c6af43f762f1",
              "lessThan": "fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/usb/gadget/function/f_midi2.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.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-rc2",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/usb/gadget/function/f_midi2.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-16T11:17:15.140",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/49fab5e1bdb205c36c965d0e9677bc40d282d3a2",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/d11f3300b39e2daad2f0d9d66ddcc39a156cb594",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/e89e30f0b5d3004fe5955250bd8b04f3733e32ce",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/f9bdf4c4f6410a1dfafafa383a0e21069372657f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/fed0aa7c6eaedc6c0d4e362fc91724aa47be4a7b",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nusb: gadget: f_midi2: fix use-after-free in string attribute show path\n\nf_midi2_opts_str_show() takes the string lock internally, but its\ncallers dereference the opts->info.<field> pointer before calling it,\noutside the lock. This races with f_midi2_opts_str_store(), which\nfrees the old string under opts->lock when the attribute is written\nconcurrently, the show path can read a pointer that gets freed\nbefore the lock inside str_show() is even taken.\n\nChange f_midi2_opts_str_show() to take a pointer to the string field,\nmatching the existing pattern in f_midi2_opts_str_store(), and\ndereference it only after the lock is held. Update all three callers\n(iface_name, block name, and the EP string option macro) accordingly."
    }
  ],
  "lastModified": "2026-09-17T10:17:05.910",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}