CVE-2022-50766

Summary

In the Linux kernel, the following vulnerability has been resolved:

btrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer

syzbot is reporting uninit-value in btrfs_clean_tree_block() [1], for commit bc877d285ca3dba2 ("btrfs: Deduplicate extent_buffer init code") missed that btrfs_set_header_generation() in btrfs_init_new_buffer() must not be moved to after clean_tree_block() because clean_tree_block() is calling btrfs_header_generation() since commit 55c69072d6bd5be1 ("Btrfs: Fix extent_buffer usage when nodesize != leafsize").

Since memzero_extent_buffer() will reset "struct btrfs_header" part, we can't move btrfs_set_header_generation() to before memzero_extent_buffer(). Just re-add btrfs_set_header_generation() before btrfs_clean_tree_block().

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxbc877d285ca3dba24c52406946a4a69847cc7422 < 0a408c6212c16b9a2a1141d3c531247582ef8101affected
LinuxLinuxbc877d285ca3dba24c52406946a4a69847cc7422 < a687c2890fe4a2acaac6941fa4097a1264d8f3ebaffected
LinuxLinuxbc877d285ca3dba24c52406946a4a69847cc7422 < 89bc41c92d10b905c60f6ec13c9ef664a3555c54affected
LinuxLinuxbc877d285ca3dba24c52406946a4a69847cc7422 < cbddcc4fa3443fe8cfb2ff8e210deb1f6a0eea38affected
LinuxLinux4.19affected
LinuxLinux0 < 4.19unaffected
LinuxLinux5.15.75 <= 5.15.*unaffected
LinuxLinux5.19.17 <= 5.19.*unaffected
LinuxLinux6.0.3 <= 6.0.*unaffected
LinuxLinux6.1 <= *unaffected

Weaknesses

References