CVE-2022-49708: ext4: fix bug_on ext4_mb_use_inode_pa

Published Feb 26, 2025
·
Updated

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

ext4: fix bugon ext4mbuseinodepa

Hulk Robot reported a BUGON: ================================================================== kernel BUG at fs/ext4/mballoc.c:3211! [...] RIP: 0010:ext4mbmarkdiskspaceused.cold+0x85/0x136f [...] Call Trace: ext4mbnewblocks+0x9df/0x5d30 ext4extmapblocks+0x1803/0x4d80 ext4mapblocks+0x3a4/0x1a10 ext4writepages+0x126d/0x2c30 dowritepages+0x7f/0x1b0 filemapfdatawriterange+0x285/0x3b0 filewriteandwaitrange+0xb1/0x140 ext4syncfile+0x1aa/0xca0 vfsfsyncrange+0xfb/0x260 dofsync+0x48/0xa0 [...] ==================================================================

Above issue may happen as follows: ------------------------------------- dofsync vfsfsyncrange ext4syncfile filewriteandwaitrange filemapfdatawriterange dowritepages ext4writepages mpagemapandsubmitextent mpagemaponeextent ext4mapblocks ext4mbnewblocks ext4mbnormalizerequest >>> start + size <= ac->acoex.felogical ext4mbregularallocator ext4mbsimplescangroup ext4mbusebestfound ext4mbnewpreallocation ext4mbnewinodepa ext4mbuseinodepa >>> set ac->acbex.felen <= 0 ext4mbmarkdiskspaceused >>> BUGON(ac->acbex.felen <= 0);

we can easily reproduce this problem with the following commands: fallocate -l100M disk mkfs.ext4 -b 1024 -g 256 disk mount disk /mnt fsstress -d /mnt -l 0 -n 1000 -p 1

The size must be smaller than or equal to EXT4BLOCKSPERGROUP. Therefore, "start + size <= ac->acoex.felogical" may occur when the size is truncated. So start should be the start position of the group where acoex.felogical is located after alignment. In addition, when the value of felogical or EXT4BLOCKSPERGROUP is very large, the value calculated by startoff is more accurate.

Affected Software

16 affected components
Linux Linux kernel
Linux Linux kernel>=3.2.89<3.3
Linux Linux kernel>=3.10.107<3.11
Linux Linux kernel>=3.12.72<3.13
Linux Linux kernel>=3.16.44<3.17
Linux Linux kernel>=4.1.40<4.2
Linux Linux kernel>=4.4.53<4.5
Linux Linux kernel>=4.9.14<4.9.320
Linux Linux kernel>=4.10.2<4.14.285
Linux Linux kernel>=4.15<4.19.249
Linux Linux kernel>=4.20<5.4.200
Linux Linux kernel>=5.5<5.10.124
Linux Linux kernel>=5.11<5.15.49
Linux Linux kernel>=5.16<5.18.6
Linux Linux kernel=5.19-rc1
Linux Linux kernel=5.19-rc2

Event History

Feb 26, 2025
CVE Published
via MITRE·02:24 AM
Data Sourced
via MITRE·02:24 AM
Description
Data Sourced
via NVD·07:01 AM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2022-49708?

CVE-2022-49708 has been classified with a severity level that indicates potential impact on system stability due to a kernel bug.

2

How do I fix CVE-2022-49708?

To fix CVE-2022-49708, update to the latest stable version of the Linux kernel where the vulnerability has been addressed.

3

What systems are affected by CVE-2022-49708?

CVE-2022-49708 affects Linux kernel versions prior to the patch that resolves the ext4 memory allocation bug.

4

What type of vulnerability is CVE-2022-49708?

CVE-2022-49708 is a kernel bug vulnerability related to memory management in the ext4 filesystem.

5

Who reported CVE-2022-49708?

CVE-2022-49708 was reported by a user or researcher identified as Hulk Robot.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203