Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

Suggestion detail

Dismissed
(max. allowed matches exceeded)
created 3 weeks ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fs/omfs: reject s_sys_blocksize smaller than OMFS_DIR_START

In the Linux kernel, the following vulnerability has been resolved: fs/omfs: reject s_sys_blocksize smaller than OMFS_DIR_START omfs_fill_super() rejects oversized s_sys_blocksize values (> PAGE_SIZE), but it does not reject values smaller than OMFS_DIR_START (0x1b8 = 440). Later, omfs_make_empty() uses sbi->s_sys_blocksize - OMFS_DIR_START as the length argument to memset(). Since s_sys_blocksize is u32, a crafted filesystem image with s_sys_blocksize < OMFS_DIR_START causes an unsigned underflow there, wrapping to a value near 2^32. That drives a ~4 GiB memset() from bh->b_data + OMFS_DIR_START and overwrites kernel memory far beyond the backing block buffer. Add the corresponding lower-bound check alongside the existing upper-bound check in omfs_fill_super(), so that malformed images are rejected during superblock validation before any filesystem data is processed.

Affected products

Linux
  • ==2.6.27
  • =<6.1.*
  • <131ea3e57fc22936ed0e2c8330f2e36106172f51
  • =<6.18.*
  • =<5.15.*
  • =<6.12.*
  • <817f16ed62bc58a168417bfb5e859c2a370bab03
  • <79f84af38c9fef9deb0e02c79eb969b5541c2644
  • =<7.0.*
  • <754ff1bea3819a90c6f33cccfc1a299ef7609f07
  • <5822a05a841a10794ad818620dd2af490b0705d3
  • =<*
  • <6561afc38398e3518a29c5eebb975c30468f98a6
  • <0621c385fda1376e967f37ccd534c26c3e511d14
  • <2.6.27
  • =<5.10.*
  • <fbc72f5c645155dc2ed3573243ed20f9913e3a54
  • =<6.6.*