« Volver al listado

CVE-2023-53832

Estado: AplazadaSin puntuar—

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

md/raid10: fix null-ptr-deref in raid10_sync_request

init_resync() inits mempool and sets conf->have_replacemnt at the beginning of sync, close_sync() frees the mempool when sync is completed.

After [1] recovery might be skipped and init_resync() is called but close_sync() is not. null-ptr-deref occurs with r10bio->dev[i].repl_bio.

The following is one way to reproduce the issue.

Fix it by not calling init_resync() if recovery skipped.

[1] commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")

Detalles técnicos trazas, registros y código del informe original
  1) create a array, wait for resync to complete, mddev->recovery_cp is set
     to MaxSector.
  2) recovery is woken and it is skipped. conf->have_replacement is set to
     0 in init_resync(). close_sync() not called.
  3) some io errors and rdev A is set to WantReplacement.
  4) a new device is added and set to A's replacement.
  5) recovery is woken, A have replacement, but conf->have_replacemnt is
     0. r10bio->dev[i].repl_bio will not be alloced and null-ptr-deref
     occurs.

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-2023-53832",
  "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": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "38d33593260536840b49fd1dcac9aedfd14a9d42",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "14964127be77884003976a392c9faa9ebaabbbe1",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "bdbf104b1c91fbf38f82c522ebf75429f094292a",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "68695084077e3de9d3e94e09238ace2b6f246446",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "b50fd1c3d9d0175aa29ff2706ef36cc178bc356a",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "99b503e4edc5938885d839cf0e7571963f75d800",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "9e9efc77efd1956cc244af975240f2513d78a371",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "7e83ccbecd608b971f340e951c9e84cd0343002f",
              "lessThan": "a405c6f0229526160aa3f177f65e20c86fce84c5",
              "versionType": "git"
            }
          ],
          "programFiles": [
            "drivers/md/raid10.c"
          ],
          "defaultStatus": "unaffected"
        },
        {
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "product": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "3.10"
            },
            {
              "status": "unaffected",
              "version": "0",
              "lessThan": "3.10",
              "versionType": "semver"
            },
            {
              "status": "unaffected",
              "version": "4.19.283",
              "versionType": "semver",
              "lessThanOrEqual": "4.19.*"
            },
            {
              "status": "unaffected",
              "version": "5.4.243",
              "versionType": "semver",
              "lessThanOrEqual": "5.4.*"
            },
            {
              "status": "unaffected",
              "version": "5.10.180",
              "versionType": "semver",
              "lessThanOrEqual": "5.10.*"
            },
            {
              "status": "unaffected",
              "version": "5.15.111",
              "versionType": "semver",
              "lessThanOrEqual": "5.15.*"
            },
            {
              "status": "unaffected",
              "version": "6.1.28",
              "versionType": "semver",
              "lessThanOrEqual": "6.1.*"
            },
            {
              "status": "unaffected",
              "version": "6.2.15",
              "versionType": "semver",
              "lessThanOrEqual": "6.2.*"
            },
            {
              "status": "unaffected",
              "version": "6.3.2",
              "versionType": "semver",
              "lessThanOrEqual": "6.3.*"
            },
            {
              "status": "unaffected",
              "version": "6.4",
              "versionType": "original_commit_for_fix",
              "lessThanOrEqual": "*"
            }
          ],
          "programFiles": [
            "drivers/md/raid10.c"
          ],
          "defaultStatus": "affected"
        }
      ]
    }
  ],
  "published": "2025-12-09T16:17:22.133",
  "references": [
    {
      "url": "https://git.kernel.org/stable/c/14964127be77884003976a392c9faa9ebaabbbe1",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/38d33593260536840b49fd1dcac9aedfd14a9d42",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/68695084077e3de9d3e94e09238ace2b6f246446",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/99b503e4edc5938885d839cf0e7571963f75d800",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/9e9efc77efd1956cc244af975240f2513d78a371",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/a405c6f0229526160aa3f177f65e20c86fce84c5",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/b50fd1c3d9d0175aa29ff2706ef36cc178bc356a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    },
    {
      "url": "https://git.kernel.org/stable/c/bdbf104b1c91fbf38f82c522ebf75429f094292a",
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "vulnStatus": "Deferred",
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nmd/raid10: fix null-ptr-deref in raid10_sync_request\n\ninit_resync() inits mempool and sets conf->have_replacemnt at the beginning\nof sync, close_sync() frees the mempool when sync is completed.\n\nAfter [1] recovery might be skipped and init_resync() is called but\nclose_sync() is not. null-ptr-deref occurs with r10bio->dev[i].repl_bio.\n\nThe following is one way to reproduce the issue.\n\n  1) create a array, wait for resync to complete, mddev->recovery_cp is set\n     to MaxSector.\n  2) recovery is woken and it is skipped. conf->have_replacement is set to\n     0 in init_resync(). close_sync() not called.\n  3) some io errors and rdev A is set to WantReplacement.\n  4) a new device is added and set to A's replacement.\n  5) recovery is woken, A have replacement, but conf->have_replacemnt is\n     0. r10bio->dev[i].repl_bio will not be alloced and null-ptr-deref\n     occurs.\n\nFix it by not calling init_resync() if recovery skipped.\n\n[1] commit 7e83ccbecd60 (\"md/raid10: Allow skipping recovery when clean arrays are assembled\")"
    }
  ],
  "lastModified": "2026-06-17T06:46:09.047",
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}