Nixpkgs security tracker

Login with GitHub

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 13 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
udf: validate free block extents against the partition length

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

Linux
  • <5.10.261
  • <6.11
  • <fb49099206c5c57af28a157249fa7bcb5518f99e
  • =<7.1.*
  • =<6.1.*
  • =<5.15.*
  • =<5.10.*
  • <5.15.212
  • <4.20
  • <b54aee5652fcd7c23a0904a4623ec462c3edc70c
  • ==097420e48e30f51e8f4f650b5c946f5af63ec1a3
  • ==05fb2bf477d3fe5421bd4cb699574737f52bd88b
  • <fdd6229d2ae9914c1f25d1041db0f4f312a4fa76
  • ==5def895b42ef16a2da6402818cba8d7ec8ede1ef
  • <6.6.145
  • <9442d75429b0c556292a7454fe888d54259f5240
  • =<6.6.*
  • <be87de7789a82a030a4896bc7683415ec9fa6f2b
  • <5.5
  • ==6.11
  • <6.1.178
  • <5f0419457f89dce1a3f1c8e62a3adf2f39ab8168
  • =<6.18.*
  • <335202ab25b01fdd45889ff25eab70864686dea3
  • =<6.12.*
  • <6.11
  • =<*
  • <12af328d2ee8d68e81ba612246d0b54b22d23e1f