« Volver al listado

CVE-2026-90358

Estado: RecibidaAlta (7.8)—

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

bpf, x86: Fix trampoline stack size for 128-bit arguments

btf_distill_func_proto() accepts a function argument up to 16 bytes, so a 128-bit scalar such as __int128 reaches the x86 trampoline with arg_size == 16. But the current implementation assumes an __int128 argument only needs one register, so the register save area is under-allocated and save_args() overwrites adjacent stack slots.

Compute the register count from arg_size for all arguments to fix it.

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, PR:L) en kernel Linux con desbordamiento de pila en trampoline eBPF que permite escalada de privilegios y ejecución de código con privilegios elevados tras alcanzar memoria kernel adyacente.

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-90358",
  "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": "a9c5ad31fbdc4dec6d266fe22e51de1ad6d1bcf2",
              "lessThan": "4aed2346fa9b88d458eeb8c01123f3c07585a675",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a9c5ad31fbdc4dec6d266fe22e51de1ad6d1bcf2",
              "lessThan": "40f3bfbbb222b92278f3797614b70f68d46824ac",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a9c5ad31fbdc4dec6d266fe22e51de1ad6d1bcf2",
              "lessThan": "a6d7d7a253c550e74b0651897fe313c2f9b2301f",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "a9c5ad31fbdc4dec6d266fe22e51de1ad6d1bcf2",
              "lessThan": "814cba835ef648e0c5eb79505c96c0493b29eea6",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "arch/x86/net/bpf_jit_comp.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.1"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.1",
              "versionType": "semver"
            },
            {
              "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": [
            "arch/x86/net/bpf_jit_comp.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-09-17T17:17:34.703",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/40f3bfbbb222b92278f3797614b70f68d46824ac",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/4aed2346fa9b88d458eeb8c01123f3c07585a675",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/814cba835ef648e0c5eb79505c96c0493b29eea6",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a6d7d7a253c550e74b0651897fe313c2f9b2301f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, x86: Fix trampoline stack size for 128-bit arguments\n\nbtf_distill_func_proto() accepts a function argument up to 16 bytes, so a\n128-bit scalar such as __int128 reaches the x86 trampoline with\narg_size == 16. But the current implementation assumes an __int128\nargument only needs one register, so the register save area is\nunder-allocated and save_args() overwrites adjacent stack slots.\n\nCompute the register count from arg_size for all arguments to fix it."
    }
  ],
  "lastModified": "2026-09-18T18:17:55.317",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}