CVE-2026-98542

Estado: RecibidaSin puntuar—
Gravedad—Sin puntuar
Probabilidad de explotación0.20 %mayor que el 9 % 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:

cgroup/cpuset: Devolver PERR_NOCPUS en remote_partition_enable() ante un conflicto con subpartitions_cpus

Cuando se crea una partición remota por debajo de una partición local existente a través de un cgroup intermedio que no es partición (PRS_MEMBER), update_prstate() comprueba que parent->partition_root_state == PRS_MEMBER y llama a remote_partition_enable().

La confirmación 86888c7bd117 ("cgroup/cpuset: Add warnings to catch inconsistency in exclusive CPUs") sustituyó la comprobación de error cpumask_intersects(tmp->new_cpus, subpartitions_cpus) en remote_partition_enable() por WARN_ON_ONCE().

Leer descripción completaMostrar menos

Como resultado, remote_partition_enable() emite una advertencia y continúa habilitando la partición remota en las CPU que ya pertenecen a la partición local ancestra en subpartitions_cpus.

Esto se puede reproducir en Linux 7.3.0-rc3 con:

lo que provoca:

y deja tanto /tmp/cg1/A como /tmp/cg1/A/B/D como particiones raíz activas que reclaman para sí la CPU 1 exclusiva.

Para corregirlo, se devuelve PERR_NOCPUS cuando tmp->new_cpus se solapa con subpartitions_cpus en remote_partition_enable(), coincidiendo con el código de error que usa remote_cpus_update() para el mismo conflicto con subpartitions_cpus, y se añade un caso de prueba de regresión a tools/testing/selftests/cgroup/test_cpuset_prs.sh.

Probado en QEMU sobre Linux 7.3.0-rc3 usando el reproductor anterior y tools/testing/selftests/cgroup/test_cpuset_prs.sh.

Detalles técnicos trazas, registros y código del informe original
  mkdir -p /tmp/cg1
  mount -t cgroup2 none /tmp/cg1
  echo "+cpuset" > /tmp/cg1/cgroup.subtree_control

  mkdir /tmp/cg1/A
  echo 1 > /tmp/cg1/A/cpuset.cpus
  echo 1 > /tmp/cg1/A/cpuset.cpus.exclusive
  echo root > /tmp/cg1/A/cpuset.cpus.partition
  echo "+cpuset" > /tmp/cg1/A/cgroup.subtree_control

  mkdir /tmp/cg1/A/B
  echo 1 > /tmp/cg1/A/B/cpuset.cpus
  echo 1 > /tmp/cg1/A/B/cpuset.cpus.exclusive
  echo "+cpuset" > /tmp/cg1/A/B/cgroup.subtree_control

  mkdir /tmp/cg1/A/B/D
  echo 1 > /tmp/cg1/A/B/D/cpuset.cpus
  echo 1 > /tmp/cg1/A/B/D/cpuset.cpus.exclusive
  echo root > /tmp/cg1/A/B/D/cpuset.cpus.partition

  WARNING: kernel/cgroup/cpuset.c:1594 at remote_partition_enable+0x1c1/0x300

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.20 %
Percentil entre todas las CVEs puntuadas
9
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 3 referencias

JSON original (NVD)

Mostrar
{
  "id": "CVE-2026-98542",
  "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": "86888c7bd117c29eab169c37e5f6bbbf583da983",
              "lessThan": "241e67b60308cdce25bba66616a109759edd1d40",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "86888c7bd117c29eab169c37e5f6bbbf583da983",
              "lessThan": "0751ab665cb3dcdac224b002565f2e28461740d5",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "86888c7bd117c29eab169c37e5f6bbbf583da983",
              "lessThan": "31c88350b7dd1522792f726f79607f31bb55c50f",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "kernel/cgroup/cpuset.c",
            "tools/testing/selftests/cgroup/test_cpuset_prs.sh"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.16"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "6.16",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "6.18.55",
              "versionType": "semver",
              "lessThanOrEqual": "6.18.*"
            },
            {
              "status": "unaffected",
              "version": "7.2.9",
              "versionType": "semver",
              "lessThanOrEqual": "7.2.*"
            },
            {
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "kernel/cgroup/cpuset.c",
            "tools/testing/selftests/cgroup/test_cpuset_prs.sh"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2026-10-18T16:17:06.090",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/0751ab665cb3dcdac224b002565f2e28461740d5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/241e67b60308cdce25bba66616a109759edd1d40",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/31c88350b7dd1522792f726f79607f31bb55c50f",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Received",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ncgroup/cpuset: Return PERR_NOCPUS in remote_partition_enable() on subpartitions_cpus conflict\n\nWhen a remote partition is created underneath an existing local partition\nvia a non-partition (PRS_MEMBER) intermediate cgroup, update_prstate() sees\nparent->partition_root_state == PRS_MEMBER and calls\nremote_partition_enable().\n\nCommit 86888c7bd117 (\"cgroup/cpuset: Add warnings to catch inconsistency\nin exclusive CPUs\") replaced the cpumask_intersects(tmp->new_cpus,\nsubpartitions_cpus) error check in remote_partition_enable() with\nWARN_ON_ONCE(). As a result, remote_partition_enable() emits a warning\nand proceeds to enable the remote partition on CPUs that are already\nowned by the ancestor local partition in subpartitions_cpus.\n\nThis can be reproduced on Linux 7.3.0-rc3 with:\n\n  mkdir -p /tmp/cg1\n  mount -t cgroup2 none /tmp/cg1\n  echo \"+cpuset\" > /tmp/cg1/cgroup.subtree_control\n\n  mkdir /tmp/cg1/A\n  echo 1 > /tmp/cg1/A/cpuset.cpus\n  echo 1 > /tmp/cg1/A/cpuset.cpus.exclusive\n  echo root > /tmp/cg1/A/cpuset.cpus.partition\n  echo \"+cpuset\" > /tmp/cg1/A/cgroup.subtree_control\n\n  mkdir /tmp/cg1/A/B\n  echo 1 > /tmp/cg1/A/B/cpuset.cpus\n  echo 1 > /tmp/cg1/A/B/cpuset.cpus.exclusive\n  echo \"+cpuset\" > /tmp/cg1/A/B/cgroup.subtree_control\n\n  mkdir /tmp/cg1/A/B/D\n  echo 1 > /tmp/cg1/A/B/D/cpuset.cpus\n  echo 1 > /tmp/cg1/A/B/D/cpuset.cpus.exclusive\n  echo root > /tmp/cg1/A/B/D/cpuset.cpus.partition\n\nwhich triggers:\n\n  WARNING: kernel/cgroup/cpuset.c:1594 at remote_partition_enable+0x1c1/0x300\n\nand leaves both /tmp/cg1/A and /tmp/cg1/A/B/D as active root partitions\nclaiming exclusive CPU 1.\n\nFix this by returning PERR_NOCPUS when tmp->new_cpus intersects\nsubpartitions_cpus in remote_partition_enable(), matching the error code\nused by remote_cpus_update() for the same subpartitions_cpus conflict, and\nadd a regression test case to\ntools/testing/selftests/cgroup/test_cpuset_prs.sh.\n\nTested in QEMU on Linux 7.3.0-rc3 using the reproducer above and\ntools/testing/selftests/cgroup/test_cpuset_prs.sh."
    }
  ],
  "lastModified": "2026-10-19T10:19:10.107",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}