---
id: CVE-2023-54317
title: 'dm flakey: don''t corrupt the zero page'
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  dm flakey: don't corrupt the zero page

  When we need to zero some range on a block device, the function
  __blkdev_issue_zero_pages submits a write bio with the bio vecto…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
cvssSource: cna
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= c6cd92fcabd6cc78bb1808c6a18245c842722fc1 <
    b7f8892f672222dbfcc721f51edc03963212b249
  - >-
    Linux >= d4c637af2e56ee1ec66ee34d0ac5a13c75911aec <
    98e311be44dbe31ad9c42aa067b2359bac451fda
  - >-
    Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 <
    3c4a56ef7c538d16c1738ba0ccea9e7146105b5a
  - >-
    Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 <
    f2b478228bfdd11e358c5bc197561331f5d5c394
  - >-
    Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 <
    ff60b2bb680ebcaf8890814dd51084a022891469
  - >-
    Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 <
    be360c83f2d810493c04f999d69ec9152981e0c0
  - >-
    Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 <
    63d31617883d64b43b0e2d529f0751f40713ecae
  - >-
    Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 <
    f50714b57aecb6b3dc81d578e295f86d9c73f078
  - Linux 1ed7c9f45fb893877ffa7cedd7aa61beaadbb328
  - Linux >= 4.14.158 < 4.14.308
  - Linux >= 4.19.88 < 4.19.276
  - Linux >= 4.9.206 < 4.10
  - Linux 5.0
ssvc:
  exploitation: none
  automatable: 'no'
  technicalImpact: total
  timestamp: '2026-10-15T21:40:17.618804Z'
published: '2025-12-30'
updated: '2026-10-15'
sourceUpdated: '2026-10-15T21:41:44.644Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2023-54317'
references:
  - url: 'https://git.kernel.org/stable/c/b7f8892f672222dbfcc721f51edc03963212b249'
  - url: 'https://git.kernel.org/stable/c/98e311be44dbe31ad9c42aa067b2359bac451fda'
  - url: 'https://git.kernel.org/stable/c/3c4a56ef7c538d16c1738ba0ccea9e7146105b5a'
  - url: 'https://git.kernel.org/stable/c/f2b478228bfdd11e358c5bc197561331f5d5c394'
  - url: 'https://git.kernel.org/stable/c/ff60b2bb680ebcaf8890814dd51084a022891469'
  - url: 'https://git.kernel.org/stable/c/be360c83f2d810493c04f999d69ec9152981e0c0'
  - url: 'https://git.kernel.org/stable/c/63d31617883d64b43b0e2d529f0751f40713ecae'
  - url: 'https://git.kernel.org/stable/c/f50714b57aecb6b3dc81d578e295f86d9c73f078'
tags:
  - cve.org
epss: 0.00155
epssPercentile: 0.04149
ingestedAt: '2026-10-15T22:48:25.439Z'
---

## Overview

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

dm flakey: don't corrupt the zero page

When we need to zero some range on a block device, the function
__blkdev_issue_zero_pages submits a write bio with the bio vector pointing
to the zero page. If we use dm-flakey with corrupt bio writes option, it
will corrupt the content of the zero page which results in crashes of
various userspace programs. Glibc assumes that memory returned by mmap is
zeroed and it uses it for calloc implementation; if the newly mapped
memory is not zeroed, calloc will return non-zeroed memory.

Fix this bug by testing if the page is equal to ZERO_PAGE(0) and
avoiding the corruption in this case.

## Affected

- `Linux >= c6cd92fcabd6cc78bb1808c6a18245c842722fc1 < b7f8892f672222dbfcc721f51edc03963212b249`
- `Linux >= d4c637af2e56ee1ec66ee34d0ac5a13c75911aec < 98e311be44dbe31ad9c42aa067b2359bac451fda`
- `Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 < 3c4a56ef7c538d16c1738ba0ccea9e7146105b5a`
- `Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 < f2b478228bfdd11e358c5bc197561331f5d5c394`
- `Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 < ff60b2bb680ebcaf8890814dd51084a022891469`
- `Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 < be360c83f2d810493c04f999d69ec9152981e0c0`
- `Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 < 63d31617883d64b43b0e2d529f0751f40713ecae`
- `Linux >= a00f5276e26636cbf72f24f79831026d2e2868e7 < f50714b57aecb6b3dc81d578e295f86d9c73f078`
- `Linux 1ed7c9f45fb893877ffa7cedd7aa61beaadbb328`
- `Linux >= 4.14.158 < 4.14.308`
- `Linux >= 4.19.88 < 4.19.276`
- `Linux >= 4.9.206 < 4.10`
- `Linux 5.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
