udf: validate free block extents against the partition length (Linux Linux)

CVE-2026-64324
HIGH 7.8

At a glance

Source
NVD
EPSS
EPSS 0.16 % · percentile 5 ()
State
PUBLISHED
Published
Updated
Assigner
Linux
NVD status
Modified

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.

Weaknesses (CWE)

  • CWE-125 — Out-of-bounds Read
  • CWE-129 — Improper Validation of Array Index

References

Scores

VersionScoreVectorScored by
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux
CVSS 3.1HIGH 7.8CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HNVD · 416baaa9-dc9f-4396-8d5f-8c081fb06d67 (Secondary)

European references

CERT-FR advisories

Affected configurations (NVD CPE)

Affected products

ProductVersions
Linux · Linuxaffected 934f815345c09c290a9b9a9cfdddc203ec2117e8 < fdd6229d2ae9914c1f25d1041db0f4f312a4fa76 ; affected 22cc7323f090646c8cfb5939e6f15bdc2ed3fd27 < b54aee5652fcd7c23a0904a4623ec462c3edc70c ; affected 7c4fa9ebfce69619d132fe703dc2e2cf62a13723 < 12af328d2ee8d68e81ba612246d0b54b22d23e1f ; affected 5cc9745e2ea11aef7d5c9a42bc36f6cd3e1b4cc3 < fb49099206c5c57af28a157249fa7bcb5518f99e ; affected 56e69e59751d20993f243fb7dd6991c4e522424c < 9442d75429b0c556292a7454fe888d54259f5240 ; affected 56e69e59751d20993f243fb7dd6991c4e522424c < 335202ab25b01fdd45889ff25eab70864686dea3
Linux · Linuxaffected 6.11 ; unaffected 0 < 6.11 ; unaffected 5.10.261 ≤ 5.10.* ; unaffected 5.15.212 ≤ 5.15.* ; unaffected 6.1.178 ≤ 6.1.* ; unaffected 6.6.145 ≤ 6.6.*

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST — attribution requested
ENISA EUVDENISA — reproduction authorised, source acknowledged
CERT-FR (ANSSI)Licence Ouverte / Etalab 2.0
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain — this product uses data from the NVD API but is not endorsed or certified by the NVD