« Volver al listado

CVE-2026-90247

Estado: RecibidaSin puntuar—

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

bpf: Fix mmap_lock leak in irq_work path

stack_map_get_build_id_offset() introduced a per-CPU irq_work to defer mmap_read_unlock() from NMI context, and bpf_find_vma() later reused the same mmap_unlock_work. Both callers only check whether the work is busy before taking mmap_lock, so a nested caller can reuse the slot before the first caller queues it. Two read locks may then be acquired while only one deferred unlock runs, leaking a read lock and blocking exit_mmap().

Reserve the per-CPU slot before mmap_read_trylock(). Use the same wrapper in stackmap and bpf_find_vma() so both callers release the reservation on trylock failure.

Leer descripción completaMostrar menos

Keep rejecting the slot while the irq_work remains busy. Release it after the irq_work callback unlocks the mm.

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-90247",
  "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": "eac9153f2b584c702cea02c1f1a57d85aa9aea42",
              "lessThan": "a052ad5edccf5319f50ed955de4368f8318a9f20",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "eac9153f2b584c702cea02c1f1a57d85aa9aea42",
              "lessThan": "051f2da26ce377f683b938a3382e0f16d02f3139",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "eac9153f2b584c702cea02c1f1a57d85aa9aea42",
              "lessThan": "fa9dcacdcdf487f0ffef64bf67622f1caed509f1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a7f4da875c16f3b8bef0d9ec67528111045bfcd8",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "f1838da73cccb238b8be4ef464fce0168dc7ba84",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "4.19.92",
              "lessThan": "4.20",
              "versionType": "semver"
            },
            {
              "status": "affected",
              "version": "5.4.7",
              "lessThan": "5.5",
              "versionType": "semver"
            }
          ],
          "programFiles": [
            "kernel/bpf/mmap_unlock_work.h",
            "kernel/bpf/stackmap.c",
            "kernel/bpf/task_iter.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.5"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "5.5",
              "versionType": "semver"
            },
            {
              "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": [
            "kernel/bpf/mmap_unlock_work.h",
            "kernel/bpf/stackmap.c",
            "kernel/bpf/task_iter.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-17T17:17:20.803",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/051f2da26ce377f683b938a3382e0f16d02f3139",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a052ad5edccf5319f50ed955de4368f8318a9f20",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/fa9dcacdcdf487f0ffef64bf67622f1caed509f1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf: Fix mmap_lock leak in irq_work path\n\nstack_map_get_build_id_offset() introduced a per-CPU irq_work to defer\nmmap_read_unlock() from NMI context, and bpf_find_vma() later reused the\nsame mmap_unlock_work. Both callers only check whether the work is busy\nbefore taking mmap_lock, so a nested caller can reuse the slot before the\nfirst caller queues it. Two read locks may then be acquired while only one\ndeferred unlock runs, leaking a read lock and blocking exit_mmap().\n\nReserve the per-CPU slot before mmap_read_trylock(). Use the same wrapper\nin stackmap and bpf_find_vma() so both callers release the reservation on\ntrylock failure. Keep rejecting the slot while the irq_work remains busy.\nRelease it after the irq_work callback unlocks the mm."
    }
  ],
  "lastModified": "2026-09-17T17:17:20.803",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}