Skip to main content
← All vulnerabilities
CVE-2023-54317

dm flakey: don't corrupt the zero page

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 4.14.308, 4.19.276, 4.10, 5.4.235, 5.10.173, and 3 more
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: total

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 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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • Linux Linux

    From c6cd92fcabd6cc78bb1808c6a18245c842722fc1 · fixed in b7f8892f672222dbfcc721f51edc03963212b249; From d4c637af2e56ee1ec66ee34d0ac5a13c75911aec · fixed in 98e311be44dbe31ad9c42aa067b2359bac451fda; From a00f5276e26636cbf72f24f79831026d2e2868e7 · fixed in 3c4a56ef7c538d16c1738ba0ccea9e7146105b5a; From a00f5276e26636cbf72f24f79831026d2e2868e7 · fixed in f2b478228bfdd11e358c5bc197561331f5d5c394; From a00f5276e26636cbf72f24f79831026d2e2868e7 · fixed in ff60b2bb680ebcaf8890814dd51084a022891469; From a00f5276e26636cbf72f24f79831026d2e2868e7 · fixed in be360c83f2d810493c04f999d69ec9152981e0c0; From a00f5276e26636cbf72f24f79831026d2e2868e7 · fixed in 63d31617883d64b43b0e2d529f0751f40713ecae; From a00f5276e26636cbf72f24f79831026d2e2868e7 · fixed in f50714b57aecb6b3dc81d578e295f86d9c73f078; From 4.14.158 · fixed in 4.14.308; From 4.19.88 · fixed in 4.19.276; From 4.9.206 · fixed in 4.10

  • Linux Linux

    5.0

  • KernelLinux

    fixed in 4.14.308; From 4.15.0 · fixed in 4.19.276; From 4.20.0 · fixed in 5.4.235; From 5.0.0 · fixed in 5.10.173; From 5.5.0 · fixed in 5.15.99; From 5.11.0 · fixed in 6.1.16; From 5.16.0 · fixed in 6.2.3

References 8

git.kernel.org