---
id: CVE-2026-64324
title: |-
  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 e…
summary: |-
  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 e…
severity: high
cvss: 7.8
cvssVector: 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'
published: '2026-07-25'
updated: '2026-07-27'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-64324'
references:
  - url: 'https://git.kernel.org/stable/c/12af328d2ee8d68e81ba612246d0b54b22d23e1f'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/335202ab25b01fdd45889ff25eab70864686dea3'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/5f0419457f89dce1a3f1c8e62a3adf2f39ab8168'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/9442d75429b0c556292a7454fe888d54259f5240'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/b54aee5652fcd7c23a0904a4623ec462c3edc70c'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/be87de7789a82a030a4896bc7683415ec9fa6f2b'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fb49099206c5c57af28a157249fa7bcb5518f99e'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/fdd6229d2ae9914c1f25d1041db0f4f312a4fa76'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
epss: 0.0016
epssPercentile: 0.04482
ingestedAt: '2026-07-27T06:16:50.580Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
