GCVE Workshop - 22 September 2026 (14:00-18:00), Luxembourg Before The Vulnopticon Conference - Registration

FKIE_CVE-2023-54317

Vulnerability from fkie_nvd - Published: 2025-12-30 13:16 - Updated: 2026-08-04 11:16
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.
Impacted products
Vendor Product Version

{
  "affected": [
    {
      "affectedData": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/md/dm-flakey.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "b7f8892f672222dbfcc721f51edc03963212b249",
              "status": "affected",
              "version": "c6cd92fcabd6cc78bb1808c6a18245c842722fc1",
              "versionType": "git"
            },
            {
              "lessThan": "98e311be44dbe31ad9c42aa067b2359bac451fda",
              "status": "affected",
              "version": "d4c637af2e56ee1ec66ee34d0ac5a13c75911aec",
              "versionType": "git"
            },
            {
              "lessThan": "3c4a56ef7c538d16c1738ba0ccea9e7146105b5a",
              "status": "affected",
              "version": "a00f5276e26636cbf72f24f79831026d2e2868e7",
              "versionType": "git"
            },
            {
              "lessThan": "f2b478228bfdd11e358c5bc197561331f5d5c394",
              "status": "affected",
              "version": "a00f5276e26636cbf72f24f79831026d2e2868e7",
              "versionType": "git"
            },
            {
              "lessThan": "ff60b2bb680ebcaf8890814dd51084a022891469",
              "status": "affected",
              "version": "a00f5276e26636cbf72f24f79831026d2e2868e7",
              "versionType": "git"
            },
            {
              "lessThan": "be360c83f2d810493c04f999d69ec9152981e0c0",
              "status": "affected",
              "version": "a00f5276e26636cbf72f24f79831026d2e2868e7",
              "versionType": "git"
            },
            {
              "lessThan": "63d31617883d64b43b0e2d529f0751f40713ecae",
              "status": "affected",
              "version": "a00f5276e26636cbf72f24f79831026d2e2868e7",
              "versionType": "git"
            },
            {
              "lessThan": "f50714b57aecb6b3dc81d578e295f86d9c73f078",
              "status": "affected",
              "version": "a00f5276e26636cbf72f24f79831026d2e2868e7",
              "versionType": "git"
            },
            {
              "status": "affected",
              "version": "1ed7c9f45fb893877ffa7cedd7aa61beaadbb328",
              "versionType": "git"
            },
            {
              "lessThan": "4.14.308",
              "status": "affected",
              "version": "4.14.158",
              "versionType": "semver"
            },
            {
              "lessThan": "4.19.276",
              "status": "affected",
              "version": "4.19.88",
              "versionType": "semver"
            },
            {
              "lessThan": "4.10",
              "status": "affected",
              "version": "4.9.206",
              "versionType": "semver"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/md/dm-flakey.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "5.0"
            },
            {
              "lessThan": "5.0",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.14.*",
              "status": "unaffected",
              "version": "4.14.308",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "4.19.*",
              "status": "unaffected",
              "version": "4.19.276",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.4.*",
              "status": "unaffected",
              "version": "5.4.235",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.10.*",
              "status": "unaffected",
              "version": "5.10.173",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "5.15.*",
              "status": "unaffected",
              "version": "5.15.99",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.1.*",
              "status": "unaffected",
              "version": "6.1.16",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.2.*",
              "status": "unaffected",
              "version": "6.2.3",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "6.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
    }
  ],
  "cveTags": [],
  "descriptions": [
    {
      "lang": "en",
      "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndm flakey: don\u0027t corrupt the zero page\n\nWhen we need to zero some range on a block device, the function\n__blkdev_issue_zero_pages submits a write bio with the bio vector pointing\nto the zero page. If we use dm-flakey with corrupt bio writes option, it\nwill corrupt the content of the zero page which results in crashes of\nvarious userspace programs. Glibc assumes that memory returned by mmap is\nzeroed and it uses it for calloc implementation; if the newly mapped\nmemory is not zeroed, calloc will return non-zeroed memory.\n\nFix this bug by testing if the page is equal to ZERO_PAGE(0) and\navoiding the corruption in this case."
    },
    {
      "lang": "es",
      "value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\ndm flakey: no corromper la p\u00e1gina cero\n\nCuando necesitamos poner a cero un rango en un dispositivo de bloques, la funci\u00f3n __blkdev_issue_zero_pages env\u00eda un bio de escritura con el vector bio apuntando a la p\u00e1gina cero. Si usamos dm-flakey con la opci\u00f3n de escrituras bio corruptas, corromper\u00e1 el contenido de la p\u00e1gina cero, lo que resulta en fallos de varios programas de espacio de usuario. Glibc asume que la memoria devuelta por mmap est\u00e1 puesta a cero y la usa para la implementaci\u00f3n de calloc; si la memoria reci\u00e9n mapeada no est\u00e1 puesta a cero, calloc devolver\u00e1 memoria no puesta a cero.\n\nSoluciona este error probando si la p\u00e1gina es igual a ZERO_PAGE(0) y evitando la corrupci\u00f3n en este caso."
    }
  ],
  "id": "CVE-2023-54317",
  "lastModified": "2026-08-04T11:16:40.117",
  "metrics": {
    "cvssMetricV31": [
      {
        "cvssData": {
          "attackComplexity": "LOW",
          "attackVector": "LOCAL",
          "availabilityImpact": "HIGH",
          "baseScore": 7.8,
          "baseSeverity": "HIGH",
          "confidentialityImpact": "HIGH",
          "integrityImpact": "HIGH",
          "privilegesRequired": "LOW",
          "scope": "UNCHANGED",
          "userInteraction": "NONE",
          "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
          "version": "3.1"
        },
        "exploitabilityScore": 1.8,
        "impactScore": 5.9,
        "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "type": "Secondary"
      }
    ]
  },
  "published": "2025-12-30T13:16:20.973",
  "references": [
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/3c4a56ef7c538d16c1738ba0ccea9e7146105b5a"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/63d31617883d64b43b0e2d529f0751f40713ecae"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/98e311be44dbe31ad9c42aa067b2359bac451fda"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/b7f8892f672222dbfcc721f51edc03963212b249"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/be360c83f2d810493c04f999d69ec9152981e0c0"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/f2b478228bfdd11e358c5bc197561331f5d5c394"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/f50714b57aecb6b3dc81d578e295f86d9c73f078"
    },
    {
      "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
      "url": "https://git.kernel.org/stable/c/ff60b2bb680ebcaf8890814dd51084a022891469"
    }
  ],
  "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
  "vulnStatus": "Deferred"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…