CVE-2025-68231
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
16/12/2025
Last modified:
16/12/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
mm/mempool: fix poisoning order>0 pages with HIGHMEM<br />
<br />
The kernel test has reported:<br />
<br />
BUG: unable to handle page fault for address: fffba000<br />
#PF: supervisor write access in kernel mode<br />
#PF: error_code(0x0002) - not-present page<br />
*pde = 03171067 *pte = 00000000<br />
Oops: Oops: 0002 [#1]<br />
CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Tainted: G T 6.18.0-rc2-00031-gec7f31b2a2d3 #1 NONE a1d066dfe789f54bc7645c7989957d2bdee593ca<br />
Tainted: [T]=RANDSTRUCT<br />
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.3-debian-1.16.3-2 04/01/2014<br />
EIP: memset (arch/x86/include/asm/string_32.h:168 arch/x86/lib/memcpy_32.c:17)<br />
Code: a5 8b 4d f4 83 e1 03 74 02 f3 a4 83 c4 04 5e 5f 5d 2e e9 73 41 01 00 90 90 90 3e 8d 74 26 00 55 89 e5 57 56 89 c6 89 d0 89 f7 aa 89 f0 5e 5f 5d 2e e9 53 41 01 00 cc cc cc 55 89 e5 53 57 56<br />
EAX: 0000006b EBX: 00000015 ECX: 001fefff EDX: 0000006b<br />
ESI: fffb9000 EDI: fffba000 EBP: c611fbf0 ESP: c611fbe8<br />
DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068 EFLAGS: 00010287<br />
CR0: 80050033 CR2: fffba000 CR3: 0316e000 CR4: 00040690<br />
Call Trace:<br />
poison_element (mm/mempool.c:83 mm/mempool.c:102)<br />
mempool_init_node (mm/mempool.c:142 mm/mempool.c:226)<br />
mempool_init_noprof (mm/mempool.c:250 (discriminator 1))<br />
? mempool_alloc_pages (mm/mempool.c:640)<br />
bio_integrity_initfn (block/bio-integrity.c:483 (discriminator 8))<br />
? mempool_alloc_pages (mm/mempool.c:640)<br />
do_one_initcall (init/main.c:1283)<br />
<br />
Christoph found out this is due to the poisoning code not dealing<br />
properly with CONFIG_HIGHMEM because only the first page is mapped but<br />
then the whole potentially high-order page is accessed.<br />
<br />
We could give up on HIGHMEM here, but it&#39;s straightforward to fix this<br />
with a loop that&#39;s mapping, poisoning or checking and unmapping<br />
individual pages.
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/19de79aaea33ee1ea058c8711b3b2b4a7e4decd4
- https://git.kernel.org/stable/c/6a13b56537e7b0d97f4bb74e8038ce471f9770d7
- https://git.kernel.org/stable/c/a79e49e1704367b635edad1479db23d7cf1fb71a
- https://git.kernel.org/stable/c/ea4131665107e66ece90e66bcec1a2f1246cbd41
- https://git.kernel.org/stable/c/ec33b59542d96830e3c89845ff833cf7b25ef172



