{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64324","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","state":"PUBLISHED","assignerShortName":"Linux","dateReserved":"2026-07-19T15:36:31.780Z","datePublished":"2026-07-25T08:49:52.063Z","dateUpdated":"2026-08-17T04:53:26.109Z"},"containers":{"cna":{"providerMetadata":{"orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","shortName":"Linux","dateUpdated":"2026-08-17T04:53:26.109Z"},"descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nudf: validate free block extents against the partition length\n\nudf_free_blocks() checks the logical block number and count against the\npartition length, but drops the extent offset from that final bound.  A\ncrafted extent can pass the guard while logicalBlockNum + offset + count\npoints past the partition, which later indexes past the space bitmap\narray.\n\nA single ftruncate(2) on a file backed by such an extent reliably\npanics the kernel.  This is a local availability issue.  On desktop\nsystems where UDisks/polkit allows the active user to mount removable\nUDF media without CAP_SYS_ADMIN, an unprivileged local user can supply\nthe crafted filesystem and trigger the panic by truncating a writable\nfile on it.  Systems that require root or CAP_SYS_ADMIN to mount the\nimage have a higher prerequisite.\n\nNo confidentiality or integrity impact is claimed: the reproduced\nprimitive is an out-of-bounds read of a bitmap pointer slot followed by\na kernel panic.\n\nUse the already computed logicalBlockNum + offset + count value for the\npartition length check.  Also make load_block_bitmap() reject an\nout-of-range block group before indexing s_block_bitmap[], so corrupted\ncallers cannot walk past the flexible array."}],"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 flaw is reached through a local ftruncate(2) on a crafted, mounted UDF filesystem; no network protocol reaches this path.\nAC:L - The attacker controls the malicious extent and truncation offset, and a single ftruncate(2) reliably triggers the fault without a race or uncontrollable condition.\nPR:L - UDF cannot be mounted through an unprivileged user namespace, but default [UDisks policy](https://storaged.org/doc/udisks2-api/latest/udisks-polkit-ac tions.html) permits an active unprivileged user to mount removable media without administrator authentication.\nUI:N - The attacking local user can mount the supplied removable filesystem and truncate its writable file directly; no separate victim action is required.\nS:U - The vulnerable UDF code and the affected kernel resources remain within the host kernel's security authority; ordinary kernel privilege escalation does not change scope.\nC:H - Although the reproduced path is an out-of-bounds pointer-slot read followed by panic, a zero-valued out-of-range slot causes read_block_bitmap() to write a buffer_head pointer through that attacker-selected slot. Under the required higher-severity rule, this exploitable kernel heap corruption can enable code execution and unrestricted disclosure.\nI:H - The conditional out-of-bounds buffer_head pointer store corrupts kernel heap memory at an attacker-selected array index and can potentially alter control-relevant objects. This supports control-flow hijacking or arbitrary modification under the required higher-severity assumption.\nA:H - The [upstream report](https://lkml.iu.edu/2605.1/15216.html) confirms that one ftruncate(2) reliably panics the kernel, causing complete system unavailability."}]}],"affected":[{"product":"Linux","vendor":"Linux","defaultStatus":"unaffected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/udf/balloc.c"],"versions":[{"version":"934f815345c09c290a9b9a9cfdddc203ec2117e8","lessThan":"fdd6229d2ae9914c1f25d1041db0f4f312a4fa76","status":"affected","versionType":"git"},{"version":"22cc7323f090646c8cfb5939e6f15bdc2ed3fd27","lessThan":"b54aee5652fcd7c23a0904a4623ec462c3edc70c","status":"affected","versionType":"git"},{"version":"7c4fa9ebfce69619d132fe703dc2e2cf62a13723","lessThan":"12af328d2ee8d68e81ba612246d0b54b22d23e1f","status":"affected","versionType":"git"},{"version":"5cc9745e2ea11aef7d5c9a42bc36f6cd3e1b4cc3","lessThan":"fb49099206c5c57af28a157249fa7bcb5518f99e","status":"affected","versionType":"git"},{"version":"56e69e59751d20993f243fb7dd6991c4e522424c","lessThan":"9442d75429b0c556292a7454fe888d54259f5240","status":"affected","versionType":"git"},{"version":"56e69e59751d20993f243fb7dd6991c4e522424c","lessThan":"335202ab25b01fdd45889ff25eab70864686dea3","status":"affected","versionType":"git"},{"version":"56e69e59751d20993f243fb7dd6991c4e522424c","lessThan":"be87de7789a82a030a4896bc7683415ec9fa6f2b","status":"affected","versionType":"git"},{"version":"56e69e59751d20993f243fb7dd6991c4e522424c","lessThan":"5f0419457f89dce1a3f1c8e62a3adf2f39ab8168","status":"affected","versionType":"git"},{"version":"097420e48e30f51e8f4f650b5c946f5af63ec1a3","status":"affected","versionType":"git"},{"version":"5def895b42ef16a2da6402818cba8d7ec8ede1ef","status":"affected","versionType":"git"},{"version":"05fb2bf477d3fe5421bd4cb699574737f52bd88b","status":"affected","versionType":"git"},{"version":"5.10.224","lessThan":"5.10.261","status":"affected","versionType":"semver"},{"version":"5.15.165","lessThan":"5.15.212","status":"affected","versionType":"semver"},{"version":"6.1.105","lessThan":"6.1.178","status":"affected","versionType":"semver"},{"version":"6.6.46","lessThan":"6.6.145","status":"affected","versionType":"semver"},{"version":"4.19.320","lessThan":"4.20","status":"affected","versionType":"semver"},{"version":"5.4.282","lessThan":"5.5","status":"affected","versionType":"semver"},{"version":"6.10.5","lessThan":"6.11","status":"affected","versionType":"semver"}]},{"product":"Linux","vendor":"Linux","defaultStatus":"affected","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/udf/balloc.c"],"versions":[{"version":"6.11","status":"affected"},{"version":"0","lessThan":"6.11","status":"unaffected","versionType":"semver"},{"version":"5.10.261","lessThanOrEqual":"5.10.*","status":"unaffected","versionType":"semver"},{"version":"5.15.212","lessThanOrEqual":"5.15.*","status":"unaffected","versionType":"semver"},{"version":"6.1.178","lessThanOrEqual":"6.1.*","status":"unaffected","versionType":"semver"},{"version":"6.6.145","lessThanOrEqual":"6.6.*","status":"unaffected","versionType":"semver"},{"version":"6.12.96","lessThanOrEqual":"6.12.*","status":"unaffected","versionType":"semver"},{"version":"6.18.39","lessThanOrEqual":"6.18.*","status":"unaffected","versionType":"semver"},{"version":"7.1.4","lessThanOrEqual":"7.1.*","status":"unaffected","versionType":"semver"},{"version":"7.2","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":"5.10.224","versionEndExcluding":"5.10.261"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.165","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.1.105","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.6.46","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.11","versionEndExcluding":"6.12.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.11","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.11","versionEndExcluding":"7.1.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.11","versionEndExcluding":"7.2"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19.320"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.282"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.10.5"}]}]}],"references":[{"url":"https://git.kernel.org/stable/c/fdd6229d2ae9914c1f25d1041db0f4f312a4fa76"},{"url":"https://git.kernel.org/stable/c/b54aee5652fcd7c23a0904a4623ec462c3edc70c"},{"url":"https://git.kernel.org/stable/c/12af328d2ee8d68e81ba612246d0b54b22d23e1f"},{"url":"https://git.kernel.org/stable/c/fb49099206c5c57af28a157249fa7bcb5518f99e"},{"url":"https://git.kernel.org/stable/c/9442d75429b0c556292a7454fe888d54259f5240"},{"url":"https://git.kernel.org/stable/c/335202ab25b01fdd45889ff25eab70864686dea3"},{"url":"https://git.kernel.org/stable/c/be87de7789a82a030a4896bc7683415ec9fa6f2b"},{"url":"https://git.kernel.org/stable/c/5f0419457f89dce1a3f1c8e62a3adf2f39ab8168"}],"title":"udf: validate free block extents against the partition length","x_generator":{"engine":"bippy-1.2.0"}}}}