Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2026-64324

udf: validate free block extents against the partition length

Description

In the Linux kernel, the following vulnerability has been resolved: udf: validate free block extents against the partition length udf_free_blocks() checks the logical block number and count against the partition length, but drops the extent offset from that final bound. A crafted extent can pass the guard while logicalBlockNum + offset + count points past the partition, which later indexes past the space bitmap array. A single ftruncate(2) on a file backed by such an extent reliably panics the kernel. This is a local availability issue. On desktop systems where UDisks/polkit allows the active user to mount removable UDF media without CAP_SYS_ADMIN, an unprivileged local user can supply the crafted filesystem and trigger the panic by truncating a writable file on it. Systems that require root or CAP_SYS_ADMIN to mount the image have a higher prerequisite. No confidentiality or integrity impact is claimed: the reproduced primitive is an out-of-bounds read of a bitmap pointer slot followed by a kernel panic. Use the already computed logicalBlockNum + offset + count value for the partition length check. Also make load_block_bitmap() reject an out-of-range block group before indexing s_block_bitmap[], so corrupted callers cannot walk past the flexible array.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • 934f815345c09c290a9b9a9cfdddc203ec2117e8 to < fdd6229d2ae9914c1f25d1041db0f4f312a4fa76affected
  • 22cc7323f090646c8cfb5939e6f15bdc2ed3fd27 to < b54aee5652fcd7c23a0904a4623ec462c3edc70caffected
  • 7c4fa9ebfce69619d132fe703dc2e2cf62a13723 to < 12af328d2ee8d68e81ba612246d0b54b22d23e1faffected
  • 5cc9745e2ea11aef7d5c9a42bc36f6cd3e1b4cc3 to < fb49099206c5c57af28a157249fa7bcb5518f99eaffected
  • 56e69e59751d20993f243fb7dd6991c4e522424c to < 9442d75429b0c556292a7454fe888d54259f5240affected
  • 56e69e59751d20993f243fb7dd6991c4e522424c to < 335202ab25b01fdd45889ff25eab70864686dea3affected
  • 56e69e59751d20993f243fb7dd6991c4e522424c to < be87de7789a82a030a4896bc7683415ec9fa6f2baffected
  • 56e69e59751d20993f243fb7dd6991c4e522424c to < 5f0419457f89dce1a3f1c8e62a3adf2f39ab8168affected
  • 097420e48e30f51e8f4f650b5c946f5af63ec1a3affected
  • 5def895b42ef16a2da6402818cba8d7ec8ede1efaffected
  • 05fb2bf477d3fe5421bd4cb699574737f52bd88baffected
  • 5.10.224 to < 5.10.261affected
  • 5.15.165 to < 5.15.212affected
  • 6.1.105 to < 6.1.178affected
  • 6.6.46 to < 6.6.145affected
  • 4.19.320 to < 4.20affected
  • 5.4.282 to < 5.5affected
  • 6.10.5 to < 6.11affected

Linux Linux

Default version status: affected

  • 6.11affected
  • 0 to < 6.11unaffected
  • 5.10.261 to ≤ 5.10.*unaffected
  • 5.15.212 to ≤ 5.15.*unaffected
  • 6.1.178 to ≤ 6.1.*unaffected
  • 6.6.145 to ≤ 6.6.*unaffected
  • 6.12.96 to ≤ 6.12.*unaffected
  • 6.18.39 to ≤ 6.18.*unaffected
  • 7.1.4 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References