[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025022617-CVE-2022-49560-d207@gregkh>
Date: Wed, 26 Feb 2025 03:13:54 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2022-49560: exfat: check if cluster num is valid
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
exfat: check if cluster num is valid
Syzbot reported slab-out-of-bounds read in exfat_clear_bitmap.
This was triggered by reproducer calling truncute with size 0,
which causes the following trace:
BUG: KASAN: slab-out-of-bounds in exfat_clear_bitmap+0x147/0x490 fs/exfat/balloc.c:174
Read of size 8 at addr ffff888115aa9508 by task syz-executor251/365
Call Trace:
__dump_stack lib/dump_stack.c:77 [inline]
dump_stack_lvl+0x1e2/0x24b lib/dump_stack.c:118
print_address_description+0x81/0x3c0 mm/kasan/report.c:233
__kasan_report mm/kasan/report.c:419 [inline]
kasan_report+0x1a4/0x1f0 mm/kasan/report.c:436
__asan_report_load8_noabort+0x14/0x20 mm/kasan/report_generic.c:309
exfat_clear_bitmap+0x147/0x490 fs/exfat/balloc.c:174
exfat_free_cluster+0x25a/0x4a0 fs/exfat/fatent.c:181
__exfat_truncate+0x99e/0xe00 fs/exfat/file.c:217
exfat_truncate+0x11b/0x4f0 fs/exfat/file.c:243
exfat_setattr+0xa03/0xd40 fs/exfat/file.c:339
notify_change+0xb76/0xe10 fs/attr.c:336
do_truncate+0x1ea/0x2d0 fs/open.c:65
Move the is_valid_cluster() helper from fatent.c to a common
header to make it reusable in other *.c files. And add is_valid_cluster()
to validate if cluster number is within valid range in exfat_clear_bitmap()
and exfat_set_bitmap().
The Linux kernel CVE team has assigned CVE-2022-49560 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.7 with commit 1e49a94cf707204b66a3fb242f2814712c941f52 and fixed in 5.10.120 with commit 82f723b8a5adf497f9e34c702a30ca7298615654
Issue introduced in 5.7 with commit 1e49a94cf707204b66a3fb242f2814712c941f52 and fixed in 5.15.45 with commit c504167adc3248095a905fa0700a9693897cb5ed
Issue introduced in 5.7 with commit 1e49a94cf707204b66a3fb242f2814712c941f52 and fixed in 5.17.13 with commit 7c58b14b6f9cde9f69e7fa053ab73f6e013a7131
Issue introduced in 5.7 with commit 1e49a94cf707204b66a3fb242f2814712c941f52 and fixed in 5.18.2 with commit 2193286402df2d9c53294f7a858d5e6fd7346e08
Issue introduced in 5.7 with commit 1e49a94cf707204b66a3fb242f2814712c941f52 and fixed in 5.19 with commit 64ba4b15e5c045f8b746c6da5fc9be9a6b00b61d
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-49560
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
fs/exfat/balloc.c
fs/exfat/exfat_fs.h
fs/exfat/fatent.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/82f723b8a5adf497f9e34c702a30ca7298615654
https://git.kernel.org/stable/c/c504167adc3248095a905fa0700a9693897cb5ed
https://git.kernel.org/stable/c/7c58b14b6f9cde9f69e7fa053ab73f6e013a7131
https://git.kernel.org/stable/c/2193286402df2d9c53294f7a858d5e6fd7346e08
https://git.kernel.org/stable/c/64ba4b15e5c045f8b746c6da5fc9be9a6b00b61d
Powered by blists - more mailing lists