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&gt;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&amp;#39;s straightforward to fix this<br /> with a loop that&amp;#39;s mapping, poisoning or checking and unmapping<br /> individual pages.

Impact