Skip to content

Releases: Aladdin-R-D/lwext4

Release list

lwext4 v1.0.1

Choose a tag to compare

@ald-rd ald-rd released this 06 Mar 08:28
c5a4800

Release focuses on robustness and security improvements discovered through fuzz-testing (AFL++) and static analysis (Svace).

Bug fixes (fuzz testing):

  • Out-of-Bounds Read in "ext4_ext_binsearch_idx()": added validation of "eh_entries" against "eh_entries_max" in extent tree traversal, preventing out-of-bounds read on corrupted or fuzzed ext4 images (#1) ;
  • NULL pointer dereference in ext4_dir_en_get_name_len(): added NULL check for directory entry pointer before accessing name_len field when processing malformed directory entries (#1) ;
  • FPE in ext4_block_set_lb_size(): added block size validation (1KiB - 64KiB) during mount to prevent division by zero when an image contains an invalid logical block size (#2) ;
  • Out-of-Bounds Write in ext4_bmap_bit_set(): added bounds checking for block group count and inodes-per-group against block bitmap size to prevent writes beyond the allocated buffer (#2) ;
  • Double-Free in ext4_bcache_drop_buf(): fixed buffer removal logic in ext4_block_cache_shake() to properly handle referenced buffers in the LRU RB-tree, preventing double-free when the block cache is full (#2) ;

Bug fixes (Svace static analysis):

  • NULL pointer dereference in __ext4_trans_start(): added NULL check for mount point pointer before dereferencing (#3) ;
  • NULL pointer dereference in ext4_find_extent(): added NULL check for orig_path argument before dereferencing (#3) ;
  • Division by zero in create_fs_aux_info(): added validation that block_size is non-zero before using it as a divisor in ext4_mkfs (#3) ;

Documentation:

  • Some summary information in README.md has been adapted for further support of the repository within the fork: Aladdin-R-D/lwext4