[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025122449-CVE-2022-50743-8e63@gregkh>
Date: Wed, 24 Dec 2025 14:05:54 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-50743: erofs: Fix pcluster memleak when its block address is zero
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
erofs: Fix pcluster memleak when its block address is zero
syzkaller reported a memleak:
https://syzkaller.appspot.com/bug?id=62f37ff612f0021641eda5b17f056f1668aa9aed
unreferenced object 0xffff88811009c7f8 (size 136):
...
backtrace:
[<ffffffff821db19b>] z_erofs_do_read_page+0x99b/0x1740
[<ffffffff821dee9e>] z_erofs_readahead+0x24e/0x580
[<ffffffff814bc0d6>] read_pages+0x86/0x3d0
...
syzkaller constructed a case: in z_erofs_register_pcluster(),
ztailpacking = false and map->m_pa = zero. This makes pcl->obj.index be
zero although pcl is not a inline pcluster.
Then following path adds refcount for grp, but the refcount won't be put
because pcl is inline.
z_erofs_readahead()
z_erofs_do_read_page() # for another page
z_erofs_collector_begin()
erofs_find_workgroup()
erofs_workgroup_get()
Since it's illegal for the block address of a non-inlined pcluster to
be zero, add check here to avoid registering the pcluster which would
be leaked.
The Linux kernel CVE team has assigned CVE-2022-50743 to this issue.
Affected and fixed versions
===========================
Issue introduced in 5.17 with commit cecf864d3d76d50e3d9c58145e286a0b8c284e92 and fixed in 6.0.16 with commit ac54c1f7b288d83b6ba1e320efff24ecc21309cd
Issue introduced in 5.17 with commit cecf864d3d76d50e3d9c58145e286a0b8c284e92 and fixed in 6.1.2 with commit 618e712b99c78d1004b70a1a9ab0a4830d0b2673
Issue introduced in 5.17 with commit cecf864d3d76d50e3d9c58145e286a0b8c284e92 and fixed in 6.2 with commit c42c0ffe81176940bd5dead474216b7198d77675
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-50743
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/erofs/zdata.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/ac54c1f7b288d83b6ba1e320efff24ecc21309cd
https://git.kernel.org/stable/c/618e712b99c78d1004b70a1a9ab0a4830d0b2673
https://git.kernel.org/stable/c/c42c0ffe81176940bd5dead474216b7198d77675
Powered by blists - more mailing lists