Description
In the Linux kernel, the following vulnerability has been resolved: ext4: fix double brelse() the buffer of the extents path In ext4_ext_try_to_merge_up(), set path[1].p_bh to NULL after it has been released, otherwise it may be released twice. An example of what triggers this is as follows: split2 map split1 |--------|-------|--------| ext4_ext_map_blocks ext4_ext_handle_unwritten_extents ext4_split_convert_extents // path->p_depth == 0 ext4_split_extent // 1. do split1 ext4_split_extent_at |ext4_ext_insert_extent | ext4_ext_create_new_leaf | ext4_ext_grow_indepth | le16_add_cpu(&neh->eh_depth, 1) | ext4_find_extent | // return -ENOMEM |// get error and try zeroout |path = ext4_find_extent | path->p_depth = 1 |ext4_ext_try_to_merge | ext4_ext_try_to_merge_up | path->p_depth = 0 | brelse(path[1].p_bh) ---> not set to NULL here |// zeroout success // 2. update path ext4_find_extent // 3. do split2 ext4_split_extent_at ext4_ext_insert_extent ext4_ext_create_new_leaf ext4_ext_grow_indepth le16_add_cpu(&neh->eh_depth, 1) ext4_find_extent path[0].p_bh = NULL; path->p_depth = 1 read_extent_tree_block ---> return err // path[1].p_bh is still the old value ext4_free_ext_path ext4_ext_drop_refs // path->p_depth == 1 brelse(path[1].p_bh) ---> brelse a buffer twice Finally got the following WARRNING when removing the buffer from lru: ============================================ VFS: brelse: Trying to free free buffer WARNING: CPU: 2 PID: 72 at fs/buffer.c:1241 __brelse+0x58/0x90 CPU: 2 PID: 72 Comm: kworker/u19:1 Not tainted 6.9.0-dirty #716 RIP: 0010:__brelse+0x58/0x90 Call Trace: __find_get_block+0x6e7/0x810 bdev_getblk+0x2b/0x480 __ext4_get_inode_loc+0x48a/0x1240 ext4_get_inode_loc+0xb2/0x150 ext4_reserve_inode_write+0xb7/0x230 __ext4_mark_inode_dirty+0x144/0x6a0 ext4_ext_insert_extent+0x9c8/0x3230 ext4_ext_map_blocks+0xf45/0x2dc0 ext4_map_blocks+0x724/0x1700 ext4_do_writepages+0x12d6/0x2a70 [...] ============================================
Details
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Affected Packages
| Software | From version | Fixed in |
|---|---|---|
| linux | — | 6.8.0-54.56 |
| linux-allwinner-5.19 | — | — |
| linux-aws | — | 6.8.0-1023.25 |
| linux-aws-5.0 | — | — |
| linux-aws-5.11 | — | — |
| linux-aws-5.13 | — | — |
| linux-aws-5.15 | — | 5.15.0-1073.79~20.04.1 |
| linux-aws-5.19 | — | — |
| linux-aws-5.3 | — | — |
| linux-aws-5.4 | — | 5.4.0-1142.152~18.04.1 |
| linux-aws-5.8 | — | — |
| linux-aws-6.2 | — | — |
| linux-aws-6.5 | — | — |
| linux-aws-6.8 | — | 6.8.0-1023.25~22.04.1 |
| linux-aws-fips | — | 5.15.0-1073.79+fips1 |
| linux-aws-hwe | — | — |
| linux-azure | — | 6.8.0-1025.30 |
| linux-azure-4.15 | — | — |
| linux-azure-5.11 | — | — |
| linux-azure-5.13 | — | — |
| linux-azure-5.15 | — | 5.15.0-1078.87~20.04.1 |
| linux-azure-5.19 | — | — |
| linux-azure-5.3 | — | — |
| linux-azure-5.4 | — | 5.4.0-1145.152~18.04.1 |
| linux-azure-5.8 | — | — |
| linux-azure-6.11 | — | 6.11.0-1012.12~24.04.1 |
| linux-azure-6.2 | — | — |
| linux-azure-6.5 | — | — |
| linux-azure-6.8 | — | 6.8.0-1025.30~22.04.1 |
| linux-azure-edge | — | — |
| linux-azure-fde | — | — |
| linux-azure-fde-5.19 | — | — |
| linux-azure-fde-6.2 | — | — |
| linux-azure-fips | — | 5.15.0-1078.87+fips1 |
| linux-azure-nvidia | — | 6.8.0-1014.15 |
| linux-bluefield | — | — |
| linux-fips | — | 6.8.0-78.78+fips1 |
| linux-gcp | — | 6.8.0-1024.26 |
| linux-gcp-4.15 | — | — |
| linux-gcp-5.11 | — | — |
| linux-gcp-5.13 | — | — |
| linux-gcp-5.15 | — | 5.15.0-1072.80~20.04.1 |
| linux-gcp-5.19 | — | — |
| linux-gcp-5.3 | — | — |
| linux-gcp-5.4 | — | 5.4.0-1143.152~18.04.1 |
| linux-gcp-5.8 | — | — |
| linux-gcp-6.11 | — | 6.11.0-1011.11~24.04.1 |
| linux-gcp-6.2 | — | — |
| linux-gcp-6.5 | — | — |
| linux-gcp-6.8 | — | 6.8.0-1024.26~22.04.1 |
| linux-gcp-fips | — | 5.15.0-1072.80+fips1 |
| linux-gke | — | 6.8.0-1019.23 |
| linux-gke-4.15 | — | — |
| linux-gke-5.15 | — | — |
| linux-gke-5.4 | — | — |
| linux-gkeop | — | 6.8.0-1006.8 |
| linux-gkeop-5.15 | — | — |
| linux-gkeop-5.4 | — | — |
| linux-hwe | — | — |
| linux-hwe-5.11 | — | — |
| linux-hwe-5.13 | — | — |
| linux-hwe-5.15 | — | 5.15.0-127.137~20.04.1 |
| linux-hwe-5.19 | — | — |
| linux-hwe-5.4 | — | 5.4.0-208.228~18.04.1 |
| linux-hwe-5.8 | — | — |
| linux-hwe-6.2 | — | — |
| linux-hwe-6.5 | — | — |
| linux-hwe-6.8 | — | 6.8.0-57.59~22.04.1 |
| linux-hwe-edge | — | — |
| linux-ibm | — | 6.8.0-1022.22 |
| linux-ibm-5.15 | — | 5.15.0-1066.69~20.04.1 |
| linux-ibm-5.4 | — | 5.4.0-1086.91~18.04.1 |
| linux-ibm-6.8 | — | 6.8.0-1023.23~22.04.1 |
| linux-intel-5.13 | — | — |
| linux-intel-iot-realtime | — | 5.15.0-1066.68 |
| linux-intel-iotg | — | 5.15.0-1071.77 |
| linux-intel-iotg-5.15 | — | 5.15.0-1071.77~20.04.1 |
| linux-iot | — | 5.4.0-1048.51 |
| linux-kvm | — | 5.15.0-1070.75 |
| linux-lowlatency | — | 6.8.0-54.56.1 |
| linux-lowlatency-hwe-5.15 | — | 5.15.0-127.137~20.04.1 |
| linux-lowlatency-hwe-5.19 | — | — |
| linux-lowlatency-hwe-6.2 | — | — |
| linux-lowlatency-hwe-6.5 | — | — |
| linux-lowlatency-hwe-6.8 | — | 6.8.0-54.56.1~22.04.1 |
| linux-lts-xenial | — | — |
| linux-nvidia | — | 6.8.0-1022.25 |
| linux-nvidia-6.11 | — | 6.11.0-1007.7 |
| linux-nvidia-6.2 | — | — |
| linux-nvidia-6.5 | — | — |
| linux-nvidia-6.8 | — | 6.8.0-1022.25~22.04.2 |
| linux-nvidia-lowlatency | — | 6.8.0-1022.25.2 |
| linux-nvidia-tegra | — | 5.15.0-1032.32 |
| linux-nvidia-tegra-5.15 | — | 5.15.0-1032.32~20.04.1 |
| linux-nvidia-tegra-igx | — | 5.15.0-1020.20 |
| linux-oem | — | — |
| linux-oem-5.10 | — | — |
| linux-oem-5.13 | — | — |
| linux-oem-5.14 | — | — |
| linux-oem-5.17 | — | — |
| linux-oem-5.6 | — | — |
| linux-oem-6.0 | — | — |
| linux-oem-6.1 | — | — |
| linux-oem-6.11 | — | 6.11.0-1015.15 |
| linux-oem-6.5 | — | — |
| linux-oem-6.8 | — | 6.8.0-1024.24 |
| linux-oracle | — | 6.8.0-1020.21 |
| linux-oracle-5.0 | — | — |
| linux-oracle-5.11 | — | — |
| linux-oracle-5.13 | — | — |
| linux-oracle-5.15 | — | 5.15.0-1071.77~20.04.1 |
| linux-oracle-5.3 | — | — |
| linux-oracle-5.4 | — | 5.4.0-1138.147~18.04.1 |
| linux-oracle-5.8 | — | — |
| linux-oracle-6.5 | — | — |
| linux-oracle-6.8 | — | 6.8.0-1020.21~22.04.1 |
| linux-raspi | — | 6.8.0-1019.23 |
| linux-raspi-5.4 | — | 5.4.0-1129.142~18.04.1 |
| linux-raspi-realtime | — | 6.8.0-2018.19 |
| linux-raspi2 | — | — |
| linux-realtime | — | 6.8.1-1016.17 |
| linux-realtime-6.8 | — | 6.8.1-1016.17~22.04.1 |
| linux-riscv | — | 6.8.0-53.55.1 |
| linux-riscv-5.11 | — | — |
| linux-riscv-5.15 | — | 5.15.0-1069.73~20.04.1 |
| linux-riscv-5.19 | — | — |
| linux-riscv-5.8 | — | — |
| linux-riscv-6.5 | — | — |
| linux-riscv-6.8 | — | 6.8.0-53.55.1~22.04.1 |
| linux-starfive-5.19 | — | — |
| linux-starfive-6.2 | — | — |
| linux-starfive-6.5 | — | — |
| linux-xilinx | — | 6.8.0-1017.18 |
| linux-xilinx-zynqmp | — | 5.15.0-1039.43 |
References
Similar Threats
- Unknown CGA-23jx-hhcx-m389
- Unknown CGA-2qp7-6757-fmgc
- Unknown CGA-2rj5-jc55-r267
- Unknown CGA-3m96-cwq8-6xmx
- Unknown CGA-3qj9-973w-fh9g
Exploit Protection
Help block exploit attempts
BotEraser is designed to detect and help reduce malicious bot traffic that may target known vulnerabilities on your site.
Try BotEraser Free →No credit card required · Results in minutes
ⓘ Data Notice: The information presented above has been compiled from publicly available internet sources. Boteraser aggregates this data solely for informational purposes and does not independently classify, evaluate, or endorse any findings about the vulnerabilities listed. The accuracy and completeness of this information is the sole responsibility of the original publishers. Boteraser and its operators accept no liability for any decisions made based on this data.