{"id":"CVE-2022-50766","state":"PUBLISHED","title":"btrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer\n\nsyzbot is reporting uninit-value in btrfs_clean_tree_block() [1], for\ncommit bc877d285ca3dba2 (\"btrfs: Deduplicate extent_buffer init code\")\nmissed that btrfs_set_header_generation() in btrfs_init_new_buffer() must\nnot be moved to after clean_tree_block() because clean_tree_block() is\ncalling btrfs_header_generation() since commit 55c69072d6bd5be1 (\"Btrfs:\nFix extent_buffer usage when nodesize != leafsize\").\n\nSince memzero_extent_buffer() will reset \"struct btrfs_header\" part, we\ncan't move btrfs_set_header_generation() to before memzero_extent_buffer().\nJust re-add btrfs_set_header_generation() before btrfs_clean_tree_block().","publishedAt":"2025-12-24T13:05:56.873Z","updatedAt":"2026-05-11T19:25:07.774Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"0a408c6212c16b9a2a1141d3c531247582ef8101","versionType":"git"},{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"a687c2890fe4a2acaac6941fa4097a1264d8f3eb","versionType":"git"},{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"89bc41c92d10b905c60f6ec13c9ef664a3555c54","versionType":"git"},{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"cbddcc4fa3443fe8cfb2ff8e210deb1f6a0eea38","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/btrfs/extent-tree.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.19","versionType":"semver"},{"version":"5.15.75","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.19.17","status":"unaffected","lessThanOrEqual":"5.19.*","versionType":"semver"},{"version":"6.0.3","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/btrfs/extent-tree.c"]}],"references":["https://git.kernel.org/stable/c/0a408c6212c16b9a2a1141d3c531247582ef8101","https://git.kernel.org/stable/c/a687c2890fe4a2acaac6941fa4097a1264d8f3eb","https://git.kernel.org/stable/c/89bc41c92d10b905c60f6ec13c9ef664a3555c54","https://git.kernel.org/stable/c/cbddcc4fa3443fe8cfb2ff8e210deb1f6a0eea38"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/50xxx/CVE-2022-50766.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50766","state":"PUBLISHED","datePublished":"2025-12-24T13:05:56.873Z","dateUpdated":"2026-05-11T19:25:07.774Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-24T13:02:21.546Z"},"containers":{"cna":{"title":"btrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbtrfs: set generation before calling btrfs_clean_tree_block in btrfs_init_new_buffer\n\nsyzbot is reporting uninit-value in btrfs_clean_tree_block() [1], for\ncommit bc877d285ca3dba2 (\"btrfs: Deduplicate extent_buffer init code\")\nmissed that btrfs_set_header_generation() in btrfs_init_new_buffer() must\nnot be moved to after clean_tree_block() because clean_tree_block() is\ncalling btrfs_header_generation() since commit 55c69072d6bd5be1 (\"Btrfs:\nFix extent_buffer usage when nodesize != leafsize\").\n\nSince memzero_extent_buffer() will reset \"struct btrfs_header\" part, we\ncan't move btrfs_set_header_generation() to before memzero_extent_buffer().\nJust re-add btrfs_set_header_generation() before btrfs_clean_tree_block()."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"0a408c6212c16b9a2a1141d3c531247582ef8101","versionType":"git"},{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"a687c2890fe4a2acaac6941fa4097a1264d8f3eb","versionType":"git"},{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"89bc41c92d10b905c60f6ec13c9ef664a3555c54","versionType":"git"},{"version":"bc877d285ca3dba24c52406946a4a69847cc7422","status":"affected","lessThan":"cbddcc4fa3443fe8cfb2ff8e210deb1f6a0eea38","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/btrfs/extent-tree.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"4.19","status":"affected"},{"version":"0","status":"unaffected","lessThan":"4.19","versionType":"semver"},{"version":"5.15.75","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.19.17","status":"unaffected","lessThanOrEqual":"5.19.*","versionType":"semver"},{"version":"6.0.3","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/btrfs/extent-tree.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/0a408c6212c16b9a2a1141d3c531247582ef8101"},{"url":"https://git.kernel.org/stable/c/a687c2890fe4a2acaac6941fa4097a1264d8f3eb"},{"url":"https://git.kernel.org/stable/c/89bc41c92d10b905c60f6ec13c9ef664a3555c54"},{"url":"https://git.kernel.org/stable/c/cbddcc4fa3443fe8cfb2ff8e210deb1f6a0eea38"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:25:07.774Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.15.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"5.19.17"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.0.3"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"4.19","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}