CVE-2026-98865

Estado: RecibidaSin puntuar—
Gravedad—Sin puntuar
Probabilidad de explotación0.17 %mayor que el 6 % de las CVE
Explotación activaNono figura en el catálogo de CISA
Exploit públicoNo conocidosin código público localizado

En el kernel de Linux se ha resuelto la siguiente vulnerabilidad:

sched_ext: No ejecutar ops.dequeue() con un bloqueo de DSQ retenido

ops.dequeue() se invoca con el bloqueo de la DSQ de usuario de origen todavía retenido en las rutas de consumo y de movimiento (scx_consume_dispatch_q(), move_task_between_dsqs()). Un planificador BPF que bloquee la DSQ de usuario de origen desde ops.dequeue() (por ejemplo, iterándola con bpf_iter_scx_dsq) provoca un interbloqueo consigo mismo.

ops.dequeue() solo puede llamar a los kfuncs de tipo "any", y ninguno de ellos puede bloquear una DSQ integrada, por lo que las rutas global y de bypass no pueden provocar un interbloqueo; sin embargo, todos los bloqueos de DSQ comparten una misma clase de lockdep, de modo que iterar cualquier DSQ de usuario desde ops.dequeue() en esas rutas activa la comprobación de recursión.

Leer descripción completaMostrar menos

Trasladar la invocación después del desbloqueo de la DSQ en las tres rutas. SCX_TASK_IN_CUSTODY se limpia bajo el bloqueo que serializa la transferencia, de modo que el callback se invoque exactamente una vez.

Traducción automática del texto original de NVD (en inglés).

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)

Probabilidad de explotación en los próximos 30 días
0.17 %
Percentil entre todas las CVEs puntuadas
6
Fecha de la puntuación
20/10/2026

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

Mostrar las 2 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-98865",
  "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": "ebf1ccff79c43f860cbd2f9d6cfab9a462d0cb2d",
              "lessThan": "fe499ae9da46e297f578d4346c4c8e338c3118db",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "ebf1ccff79c43f860cbd2f9d6cfab9a462d0cb2d",
              "lessThan": "cb86607ada73185f321baa7f9d94a08a3a40bbf5",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "kernel/sched/ext/ext.c",
            "kernel/sched/ext/internal.h",
            "kernel/sched/ext/sub.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "7.1"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "7.1",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "7.2.10",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "kernel/sched/ext/ext.c",
            "kernel/sched/ext/internal.h",
            "kernel/sched/ext/sub.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:40.973",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/cb86607ada73185f321baa7f9d94a08a3a40bbf5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/fe499ae9da46e297f578d4346c4c8e338c3118db",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Don't run ops.dequeue() with a DSQ lock held\n\nops.dequeue() is invoked with the source user DSQ's lock still held on\nthe consume and move paths (scx_consume_dispatch_q(),\nmove_task_between_dsqs()). A BPF scheduler which locks the source user\nDSQ from ops.dequeue() - e.g. by iterating it with bpf_iter_scx_dsq -\nself-deadlocks.\n\nops.dequeue() can only call the \"any\" kfuncs and none of them can lock a\nbuiltin DSQ, so the global and bypass paths can't deadlock; however,\nall DSQ locks share one lockdep class, so iterating any user DSQ from\nops.dequeue() on those paths trips the recursion check.\n\nMove the invocation after the DSQ unlock on all three paths.\nSCX_TASK_IN_CUSTODY is cleared under the lock serializing the transfer\nso that the callback is invoked exactly once."
    }
  ],
  "lastModified": "2026-10-19T10:19:50.563",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}