cbcvebase.
CVE-2022-48833
published 2024-07-16

CVE-2022-48833: In the Linux kernel, the following vulnerability has been resolved: btrfs: skip reserved bytes warning on unmount after log cleanup failure After the recent…

PriorityP420medium5.5CVSS 3.1
AVLACLPRLUINSUCNINAH
EPSS
0.24%
14.9th percentile
In the Linux kernel, the following vulnerability has been resolved: btrfs: skip reserved bytes warning on unmount after log cleanup failure After the recent changes made by commit c2e39305299f01 ("btrfs: clear extent buffer uptodate when we fail to write it") and its followup fix, commit 651740a5024117 ("btrfs: check WRITE_ERR when trying to read an extent buffer"), we can now end up not cleaning up space reservations of log tree extent buffers after a transaction abort happens, as well as not cleaning up still dirty extent buffers. This happens because if writeback for a log tree extent buffer failed, then we have cleared the bit EXTENT_BUFFER_UPTODATE from the extent buffer and we have also set the bit EXTENT_BUFFER_WRITE_ERR on it. Later on, when trying to free the log tree with free_log_tree(), which iterates over the tree, we can end up getting an -EIO error when trying to read a node or a leaf, since read_extent_buffer_pages() returns -EIO if an extent buffer does not have EXTENT_BUFFER_UPTODATE set and has the EXTENT_BUFFER_WRITE_ERR bit set. Getting that -EIO means that we return immediately as we can not iterate over the entire tree. In that case we never update the reserved space for an extent buffer in the respective block group and space_info object. When this happens we get the following traces when unmounting the fs: [174957.284509] BTRFS: error (device dm-0) in cleanup_transaction:1913: errno=-5 IO failure [174957.286497] BTRFS: error (device dm-0) in free_log_tree:3420: errno=-5 IO failure [174957.399379] ------------[ cut here ]------------ [174957.402497] WARNING: CPU: 2 PID: 3206883 at fs/btrfs/block-group.c:127 btrfs_put_block_group+0x77/0xb0 [btrfs] [174957.407523] Modules linked in: btrfs overlay dm_zero (...) [174957.424917] CPU: 2 PID: 3206883 Comm: umount Tainted: G W 5.16.0-rc5-btrfs-next-109 #1 [174957.426689] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014 [174957.4

Affected

24 ranges
VendorProductVersion rangeFixed in
debianlinux< linux 5.16.18-1 (bookworm)linux 5.16.18-1 (bookworm)
linuxlinux
linuxlinux
linuxlinux
linuxlinux
linuxlinux>= 0338e448b90527d46e6debe9f95f8a117706a835 < 4c5d94990fa2fd609360ecd0f7e183212a7d115c4c5d94990fa2fd609360ecd0f7e183212a7d115c
linuxlinux>= 5.10.85 < 5.115.11
linuxlinux>= 5.15.8 < 5.15.315.15.31
linuxlinux>= 5.4.165 < 5.55.5
linuxlinux>= 651740a502411793327e2f0741104749c4eedcd1 < 40cdc509877bacb438213b83c7541c5e24a1d9ec40cdc509877bacb438213b83c7541c5e24a1d9ec
linuxlinux>= c2e39305299f0118298c2201f6d6cc7d3485f29e < 44557a8f539a822c91238c1f95a95f98a5093d8244557a8f539a822c91238c1f95a95f98a5093d82
linuxlinux>= c2e39305299f0118298c2201f6d6cc7d3485f29e < 40cdc509877bacb438213b83c7541c5e24a1d9ec40cdc509877bacb438213b83c7541c5e24a1d9ec
linuxlinux_kernel
linuxlinux_kernel
linuxlinux_kernel>= 0 < 5.16.18-15.16.18-1
linuxlinux_kernel>= 0 < 5.16.18-15.16.18-1
linuxlinux_kernel>= 0 < 5.16.18-15.16.18-1
linuxlinux_kernel>= 5.10.85 < 5.115.11
linuxlinux_kernel>= 5.15.11 < 5.165.16
linuxlinux_kernel>= 5.15.8 < 5.15.315.15.31
linuxlinux_kernel>= 5.16.1 < 5.16.175.16.17
linuxlinux_kernel>= 5.18 < 5.175.17
linuxlinux_kernel>= 5.4.165 < 5.55.5
msrccbl2_kernel_5.15.186.1-1_on_cbl_mariner_2.0

CVSS provenance

nvdv3.15.5MEDIUMCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
osv5.5MEDIUM
vendor_debian5.5MEDIUM
vendor_msrc5.5MEDIUM
vendor_redhat5.5MEDIUM
Stop checking back — get the weekly exploitation signal.

Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.