Bug 2348324 (CVE-2022-49152) - CVE-2022-49152 kernel: XArray: Fix xas_create_range() when multi-order entry present
Summary: CVE-2022-49152 kernel: XArray: Fix xas_create_range() when multi-order entry ...
Keywords:
Status: NEW
Alias: CVE-2022-49152
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Product Security DevOps Team
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-02-26 03:25 UTC by OSIDB Bzimport
Modified: 2025-03-24 16:24 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Embargoed:


Attachments (Terms of Use)

Description OSIDB Bzimport 2025-02-26 03:25:28 UTC
In the Linux kernel, the following vulnerability has been resolved:

XArray: Fix xas_create_range() when multi-order entry present

If there is already an entry present that is of order >= XA_CHUNK_SHIFT
when we call xas_create_range(), xas_create_range() will misinterpret
that entry as a node and dereference xa_node->parent, generally leading
to a crash that looks something like this:

general protection fault, probably for non-canonical address 0xdffffc0000000001:
0000 [#1] PREEMPT SMP KASAN
KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f]
CPU: 0 PID: 32 Comm: khugepaged Not tainted 5.17.0-rc8-syzkaller-00003-g56e337f2cf13 #0
RIP: 0010:xa_parent_locked include/linux/xarray.h:1207 [inline]
RIP: 0010:xas_create_range+0x2d9/0x6e0 lib/xarray.c:725

It's deterministically reproducable once you know what the problem is,
but producing it in a live kernel requires khugepaged to hit a race.
While the problem has been present since xas_create_range() was
introduced, I'm not aware of a way to hit it before the page cache was
converted to use multi-index entries.

Comment 1 Avinash Hanwate 2025-02-26 11:03:59 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025022609-CVE-2022-49152-7f28@gregkh/T

Comment 5 Avinash Hanwate 2025-02-27 13:34:22 UTC
Upstream advisory:
https://lore.kernel.org/linux-cve-announce/2025022609-CVE-2022-49152-7f28@gregkh/T


Note You need to log in before you can comment on or make changes to this bug.