lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025091556-CVE-2022-50293-2dbe@gregkh>
Date: Mon, 15 Sep 2025 16:45:55 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2022-50293: btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range

From: Greg Kroah-Hartman <gregkh@...nel.org>

Description
===========

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

btrfs: do not BUG_ON() on ENOMEM when dropping extent items for a range

If we get -ENOMEM while dropping file extent items in a given range, at
btrfs_drop_extents(), due to failure to allocate memory when attempting to
increment the reference count for an extent or drop the reference count,
we handle it with a BUG_ON(). This is excessive, instead we can simply
abort the transaction and return the error to the caller. In fact most
callers of btrfs_drop_extents(), directly or indirectly, already abort
the transaction if btrfs_drop_extents() returns any error.

Also, we already have error paths at btrfs_drop_extents() that may return
-ENOMEM and in those cases we abort the transaction, like for example
anything that changes the b+tree may return -ENOMEM due to a failure to
allocate a new extent buffer when COWing an existing extent buffer, such
as a call to btrfs_duplicate_item() for example.

So replace the BUG_ON() calls with proper logic to abort the transaction
and return the error.

The Linux kernel CVE team has assigned CVE-2022-50293 to this issue.


Affected and fixed versions
===========================

	Fixed in 5.15.86 with commit 50f993da945074b2a069da099a0331b23a0c89a0
	Fixed in 6.0.16 with commit 7fbcb635c8fc927d139f3302babcf1b42c09265c
	Fixed in 6.1.2 with commit 1baf3370e2dc5e6bd1368348736189457dab2a27
	Fixed in 6.2 with commit 162d053e15fe985f754ef495a96eb3db970c43ed

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-50293
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/btrfs/file.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/50f993da945074b2a069da099a0331b23a0c89a0
	https://git.kernel.org/stable/c/7fbcb635c8fc927d139f3302babcf1b42c09265c
	https://git.kernel.org/stable/c/1baf3370e2dc5e6bd1368348736189457dab2a27
	https://git.kernel.org/stable/c/162d053e15fe985f754ef495a96eb3db970c43ed

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ