{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2023-53429","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2025-09-17T14:54:09.745Z","datePublished":"2025-09-18T16:04:10.298Z","dateUpdated":"2026-08-05T09:14:04.973Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-05T09:14:04.973Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: don't check PageError in __extent_writepage\n\n__extent_writepage currenly sets PageError whenever any error happens,\nand the also checks for PageError to decide if to call error handling.\nThis leads to very unclear responsibility for cleaning up on errors.\nIn the VM and generic writeback helpers the basic idea is that once\nI/O is fired off all error handling responsibility is delegated to the\nend I/O handler.  But if that end I/O handler sets the PageError bit,\nand the submitter checks it, the bit could in some cases leak into the\nsubmission context for fast enough I/O.\n\nFix this by simply not checking PageError and just using the local\nret variable to check for submission errors.  This also fundamentally\nsolves the long problem documented in a comment in __extent_writepage\nby never leaking the error bit into the submission context."}],"metrics":[{"cvssV3_1":{"version":"3.1","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","baseScore":7.8,"baseSeverity":"HIGH"},"scenarios":[{"lang":"en","value":"AV:L - The vulnerable path is btrfs buffered writeback (__extent_writepage), reached via local writes/fsync/sync on a mounted btrfs filesystem, not via network protocol parsing.\nAC:L - An unprivileged user who can dirty pages on btrfs can trigger writeback; on subpage configurations the PageError endio race is reliably exercisable when partial-page bios complete during submission, with no special memory layout required.\nPR:L - Only a normal unprivileged local account with write access to files on an already-mounted btrfs volume is required; no root or init-namespace capabilities are needed.\nUI:N - Exploitation does not require a victim action; the attacker writes their own files and triggers writeback on a system that already has btrfs mounted.\nS:U - Impact remains within the local kernel/host authority; this is not a VM escape, IOMMU bypass, or other cross-boundary compromise.\nC:H - Premature end_extent_writepage(..., ret=0) can finish ordered extents for not-yet-written subpage ranges, inserting file extents that point at reserved but unwritten disk blocks and exposing stale prior contents on read.\nI:H - The same false-success completion inserts incorrect extent metadata and can desynchronize ordered-extent accounting (including free-space cache writeback), corrupting filesystem state; related paths also hit BUG_ON/panic on ordered-tree inconsistency.\nA:H - Unclear dual cleanup responsibility leads to hung ordered extents, WARN/CRIT accounting failures, and kernel BUG_ON/panic (as seen in the related subpage ordered-extent inconsistency crashes)."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/btrfs/extent_io.c"],"versions":[{"version":"61391d562229ed94899ed4b4973dc2f0c015292a","lessThan":"d40be032ecd8ee1ca033bee43c7755d21fb4d72a","status":"affected","versionType":"git"},{"version":"61391d562229ed94899ed4b4973dc2f0c015292a","lessThan":"3e92499e3b004baffb479d61e191b41b604ece9a","status":"affected","versionType":"git"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/btrfs/extent_io.c"],"versions":[{"version":"3.16","status":"affected"},{"version":"0","lessThan":"3.16","status":"unaffected","versionType":"semver"},{"version":"6.4.7","lessThanOrEqual":"6.4.*","status":"unaffected","versionType":"semver"},{"version":"6.5","lessThanOrEqual":"*","status":"unaffected","versionType":"original_commit_for_fix"}]}],"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.4.7"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.16","versionEndExcluding":"6.5"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/d40be032ecd8ee1ca033bee43c7755d21fb4d72a"},{"url":"https://git.kernel.org/stable/c/3e92499e3b004baffb479d61e191b41b604ece9a"}],"title":"btrfs: don't check PageError in __extent_writepage","x_generator":{"engine":"bippy-1.2.0"}},"adp":[{"metrics":[{"cvssV3_1":{"scope":"UNCHANGED","version":"3.1","baseScore":5.5,"attackVector":"LOCAL","baseSeverity":"MEDIUM","vectorString":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H","integrityImpact":"NONE","userInteraction":"NONE","attackComplexity":"LOW","availabilityImpact":"HIGH","privilegesRequired":"LOW","confidentialityImpact":"NONE"}},{"other":{"type":"ssvc","content":{"id":"CVE-2023-53429","role":"CISA Coordinator","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"version":"2.0.3","timestamp":"2026-01-14T19:14:32.022612Z"}}}],"problemTypes":[{"descriptions":[{"lang":"en","type":"CWE","description":"CWE-noinfo Not enough information"}]}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-01-14T19:23:09.173Z"}}]}}