[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025070935-CVE-2025-38256-01cc@gregkh>
Date: Wed, 9 Jul 2025 12:42:48 +0200
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2025-38256: io_uring/rsrc: fix folio unpinning
From: Greg Kroah-Hartman <gregkh@...nel.org>
Description
===========
In the Linux kernel, the following vulnerability has been resolved:
io_uring/rsrc: fix folio unpinning
syzbot complains about an unmapping failure:
[ 108.070381][ T14] kernel BUG at mm/gup.c:71!
[ 108.070502][ T14] Internal error: Oops - BUG: 00000000f2000800 [#1] SMP
[ 108.123672][ T14] Hardware name: QEMU KVM Virtual Machine, BIOS edk2-20250221-8.fc42 02/21/2025
[ 108.127458][ T14] Workqueue: iou_exit io_ring_exit_work
[ 108.174205][ T14] Call trace:
[ 108.175649][ T14] sanity_check_pinned_pages+0x7cc/0x7d0 (P)
[ 108.178138][ T14] unpin_user_page+0x80/0x10c
[ 108.180189][ T14] io_release_ubuf+0x84/0xf8
[ 108.182196][ T14] io_free_rsrc_node+0x250/0x57c
[ 108.184345][ T14] io_rsrc_data_free+0x148/0x298
[ 108.186493][ T14] io_sqe_buffers_unregister+0x84/0xa0
[ 108.188991][ T14] io_ring_ctx_free+0x48/0x480
[ 108.191057][ T14] io_ring_exit_work+0x764/0x7d8
[ 108.193207][ T14] process_one_work+0x7e8/0x155c
[ 108.195431][ T14] worker_thread+0x958/0xed8
[ 108.197561][ T14] kthread+0x5fc/0x75c
[ 108.199362][ T14] ret_from_fork+0x10/0x20
We can pin a tail page of a folio, but then io_uring will try to unpin
the head page of the folio. While it should be fine in terms of keeping
the page actually alive, mm folks say it's wrong and triggers a debug
warning. Use unpin_user_folio() instead of unpin_user_page*.
[axboe: adapt to current tree, massage commit message]
The Linux kernel CVE team has assigned CVE-2025-38256 to this issue.
Affected and fixed versions
===========================
Issue introduced in 6.12 with commit a8edbb424b1391b077407c75d8f5d2ede77aa70d and fixed in 6.12.36 with commit 53fd75f25b223878b5fff14932e3a22f42b54f77
Issue introduced in 6.12 with commit a8edbb424b1391b077407c75d8f5d2ede77aa70d and fixed in 6.15.5 with commit 11e7b7369e655e6131387b174218d7fa9557b3da
Issue introduced in 6.12 with commit a8edbb424b1391b077407c75d8f5d2ede77aa70d and fixed in 6.16-rc4 with commit 5afb4bf9fc62d828647647ec31745083637132e4
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-2025-38256
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:
io_uring/rsrc.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/53fd75f25b223878b5fff14932e3a22f42b54f77
https://git.kernel.org/stable/c/11e7b7369e655e6131387b174218d7fa9557b3da
https://git.kernel.org/stable/c/5afb4bf9fc62d828647647ec31745083637132e4
Powered by blists - more mailing lists