FKIE_CVE-2023-54317
Vulnerability from fkie_nvd - Published: 2025-12-30 13:16 - Updated: 2026-08-04 11:16
Severity
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.
References
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"
}
Loading…
Loading…
Experimental. This forecast is provided for visualization only and may change without notice. Do not use it for operational decisions.
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…
The MITRE ATT&CK techniques below are AI-generated suggestions, inferred from the description of the
vulnerability by the CIRCL/vulnerability-attack-technique-classification-roberta-base
model, served locally by ML-Gateway.
They have not been verified by an analyst and are provided for guidance only.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
The approach is described in our paper Mapping CVEs to MITRE ATT&CK Techniques: A Curated Gold-Set Classifier and the Limits of LLM-Assisted Label Expansion.
Browse all ATT&CK techniques and the vulnerabilities related to each.
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…