Home

Description

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. 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. Fix it by not calling init_resync() if recovery skipped. [1] commit 7e83ccbecd60 ("md/raid10: Allow skipping recovery when clean arrays are assembled")

PUBLISHED Reserved 2025-12-09 | Published 2025-12-09 | Updated 2025-12-09 | Assigner Linux

Product status

Default status
unaffected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before 38d33593260536840b49fd1dcac9aedfd14a9d42
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before 14964127be77884003976a392c9faa9ebaabbbe1
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before bdbf104b1c91fbf38f82c522ebf75429f094292a
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before 68695084077e3de9d3e94e09238ace2b6f246446
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before b50fd1c3d9d0175aa29ff2706ef36cc178bc356a
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before 99b503e4edc5938885d839cf0e7571963f75d800
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before 9e9efc77efd1956cc244af975240f2513d78a371
affected

7e83ccbecd608b971f340e951c9e84cd0343002f (git) before a405c6f0229526160aa3f177f65e20c86fce84c5
affected

Default status
affected

3.10
affected

Any version before 3.10
unaffected

4.19.283 (semver)
unaffected

5.4.243 (semver)
unaffected

5.10.180 (semver)
unaffected

5.15.111 (semver)
unaffected

6.1.28 (semver)
unaffected

6.2.15 (semver)
unaffected

6.3.2 (semver)
unaffected

6.4 (original_commit_for_fix)
unaffected

References

git.kernel.org/...c/38d33593260536840b49fd1dcac9aedfd14a9d42

git.kernel.org/...c/14964127be77884003976a392c9faa9ebaabbbe1

git.kernel.org/...c/bdbf104b1c91fbf38f82c522ebf75429f094292a

git.kernel.org/...c/68695084077e3de9d3e94e09238ace2b6f246446

git.kernel.org/...c/b50fd1c3d9d0175aa29ff2706ef36cc178bc356a

git.kernel.org/...c/99b503e4edc5938885d839cf0e7571963f75d800

git.kernel.org/...c/9e9efc77efd1956cc244af975240f2513d78a371

git.kernel.org/...c/a405c6f0229526160aa3f177f65e20c86fce84c5

cve.org (CVE-2023-53832)

nvd.nist.gov (CVE-2023-53832)

Download JSON