CVE-2021-47463

mm/secretmem: fix NULL page->mapping dereference in page_is_secretmem()

published May 22, 2024

CVSS
—
EPSS
0%
Percentile
7.2
In the wild
Unconfirmed
What it is

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

mm/secretmem: fix NULL page->mapping dereference in page_is_secretmem()

Check for a NULL page->mapping before dereferencing the mapping in

page_is_secretmem(), as the page's mapping can be nullified while gup()

is running, e.g. by reclaim or truncation.

BUG: kernel NULL pointer dereference, address: 0000000000000068

#PF: supervisor read access in kernel mode

#PF: error_code(0x0000) - not-present page

PGD 0 P4D 0

Oops: 0000 [#1] PREEMPT SMP NOPTI

CPU: 6 PID: 4173897 Comm: CPU 3/KVM Tainted: G W

RIP: 0010:internal_get_user_pages_fast+0x621/0x9d0

Code: <48> 81 7a 68 80 08 04 bc 0f 85 21 ff ff 8 89 c7 be

RSP: 0018:ffffaa90087679b0 EFLAGS: 00010046

RAX: ffffe3f37905b900 RBX: 00007f2dd561e000 RCX: ffffe3f37905b934

RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffffe3f37905b900

...

CR2: 0000000000000068 CR3: 00000004c5898003 CR4: 00000000001726e0

Call Trace:

get_user_pages_fast_only+0x13/0x20

hva_to_pfn+0xa9/0x3e0

try_async_pf+0xa1/0x270

direct_page_fault+0x113/0xad0

kvm_mmu_page_fault+0x69/0x680

vmx_handle_exit+0xe1/0x5d0

kvm_arch_vcpu_ioctl_run+0xd81/0x1c70

kvm_vcpu_ioctl+0x267/0x670

__x64_sys_ioctl+0x83/0xa0

do_syscall_64+0x56/0x80

entry_SYSCALL_64_after_hwframe+0x44/0xae

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00180 · 7.2th percentile
Published
2024-05-22T06:23Z
EPSS history
Timeline
  • 22 MAY 06:23Z
    mm/secretmem: fix NULL page->mapping dereference in page_is_secretmem()
    cvelistv5