U.S. flag   An official website of the United States government
Dot gov

Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Https

Secure .gov websites use HTTPS
A lock (Dot gov) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.

Vulnerability Change Records for CVE-2026-53040

Change History

New CVE Received from kernel.org 6/24/2026 1:17:15 PM

Action Type Old Value New Value
Added Description

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

ocfs2: validate bg_bits during freefrag scan

[BUG]
A crafted filesystem can trigger an out-of-bounds bitmap walk when
OCFS2_IOC_INFO is issued with OCFS2_INFO_FL_NON_COHERENT.

BUG: KASAN: use-after-free in instrument_atomic_read include/linux/instrumented.h:68 [inline]
BUG: KASAN: use-after-free in _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
BUG: KASAN: use-after-free in test_bit_le include/asm-generic/bitops/le.h:21 [inline]
BUG: KASAN: use-after-free in ocfs2_info_freefrag_scan_chain fs/ocfs2/ioctl.c:495 [inline]
BUG: KASAN: use-after-free in ocfs2_info_freefrag_scan_bitmap fs/ocfs2/ioctl.c:588 [inline]
BUG: KASAN: use-after-free in ocfs2_info_handle_freefrag fs/ocfs2/ioctl.c:662 [inline]
BUG: KASAN: use-after-free in ocfs2_info_handle_request+0x1c66/0x3370 fs/ocfs2/ioctl.c:754
Read of size 8 at addr ffff888031bce000 by task syz.0.636/1435
Call Trace:
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0xbe/0x130 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0xd1/0x650 mm/kasan/report.c:482
 kasan_report+0xfb/0x140 mm/kasan/report.c:595
 check_region_inline mm/kasan/generic.c:186 [inline]
 kasan_check_range+0x11c/0x200 mm/kasan/generic.c:200
 __kasan_check_read+0x11/0x20 mm/kasan/shadow.c:31
 instrument_atomic_read include/linux/instrumented.h:68 [inline]
 _test_bit include/asm-generic/bitops/instrumented-non-atomic.h:141 [inline]
 test_bit_le include/asm-generic/bitops/le.h:21 [inline]
 ocfs2_info_freefrag_scan_chain fs/ocfs2/ioctl.c:495 [inline]
 ocfs2_info_freefrag_scan_bitmap fs/ocfs2/ioctl.c:588 [inline]
 ocfs2_info_handle_freefrag fs/ocfs2/ioctl.c:662 [inline]
 ocfs2_info_handle_request+0x1c66/0x3370 fs/ocfs2/ioctl.c:754
 ocfs2_info_handle+0x18d/0x2a0 fs/ocfs2/ioctl.c:828
 ocfs2_ioctl+0x632/0x6e0 fs/ocfs2/ioctl.c:913
 vfs_ioctl fs/ioctl.c:51 [inline]
 __do_sys_ioctl fs/ioctl.c:597 [inline]
 __se_sys_ioctl fs/ioctl.c:583 [inline]
 __x64_sys_ioctl+0x197/0x1e0 fs/ioctl.c:583
 ...

[CAUSE]
ocfs2_info_freefrag_scan_chain() uses on-disk bg_bits directly as the
bitmap scan limit. The coherent path reads group descriptors through
ocfs2_read_group_descriptor(), which validates the descriptor before
use. The non-coherent path uses ocfs2_read_blocks_sync() instead and
skips that validation, so an impossible bg_bits value can drive the
bitmap walk past the end of the block.

[FIX]
Compute the bitmap capacity from the filesystem format with
ocfs2_group_bitmap_size(), report descriptors whose bg_bits exceeds
that limit, and clamp the scan to the computed capacity. This keeps the
freefrag report going while avoiding reads beyond the buffer.
Added Reference

                  
                
              
https://git.kernel.org/stable/c/05d0cbea41167b6b061c6ba5b70ee5a9a7a24c9e
Added Reference

                  
                
              
https://git.kernel.org/stable/c/0998674eec138c55e9e349b9cbd9dbc5129a9cc8
Added Reference

                  
                
              
https://git.kernel.org/stable/c/3e167e230d19cd273108bab2e4c61800fc335ae8
Added Reference

                  
                
              
https://git.kernel.org/stable/c/4c2d62ddde8928db12f4608950b67a20e67deab2
Added Reference

                  
                
              
https://git.kernel.org/stable/c/8f687eeed3da3012152b0f9473f578869de0cd7b
Added Reference

                  
                
              
https://git.kernel.org/stable/c/bb2906a1065ec28de021bac2ed03f2624edd7d07
Added Reference

                  
                
              
https://git.kernel.org/stable/c/bb3c54d1e71578521111f1a1ee7d5f4761a242b8
Added Reference

                  
                
              
https://git.kernel.org/stable/c/e0dcf12665d6dde37facf790803cdad44d5c328c
Added Affected

                  
                
              
[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","programFiles":["fs/ocfs2/ioctl.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","versions":[{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"bb2906a1065ec28de021bac2ed03f2624edd7d07","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"3e167e230d19cd273108bab2e4c61800fc335ae8","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"0998674eec138c55e9e349b9cbd9dbc5129a9cc8","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"bb3c54d1e71578521111f1a1ee7d5f4761a242b8","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"05d0cbea41167b6b061c6ba5b70ee5a9a7a24c9e","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"4c2d62ddde8928db12f4608950b67a20e67deab2","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"e0dcf12665d6dde37facf790803cdad44d5c328c","versionType":"git","status":"affected"},{"version":"d24a10b9f8ed548981696cd36e2b4f16e6f360b1","lessThan":"8f687eeed3da3012152b0f9473f578869de0cd7b","versionType":"git","status":"affected"}]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","programFiles":["fs/ocfs2/ioctl.c"],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","versions":[{"version":"3.0","status":"affected"},{"version":"0","lessThan":"3.0","versionType":"semver","status":"unaffected"},{"version":"5.10.258","lessThanOrEqual":"5.10.*","versionType":"semver","status":"unaffected"},{"version":"5.15.209","lessThanOrEqual":"5.15.*","versionType":"semver","status":"unaffected"},{"version":"6.1.175","lessThanOrEqual":"6.1.*","versionType":"semver","status":"unaffected"},{"version":"6.6.141","lessThanOrEqual":"6.6.*","versionType":"semver","status":"unaffected"},{"version":"6.12.91","lessThanOrEqual":"6.12.*","versionType":"semver","status":"unaffected"},{"version":"6.18.33","lessThanOrEqual":"6.18.*","versionType":"semver","status":"unaffected"},{"version":"7.0.10","lessThanOrEqual":"7.0.*","versionType":"semver","status":"unaffected"},{"version":"7.1","lessThanOrEqual":"*","versionType":"original_commit_for_fix","status":"unaffected"}]}]