CVE-2025-22002

netfs: Call `invalidate_cache` only if implemented

Medium · published April 3, 2025

CVSS v3.1
5.5
EPSS
0%
Percentile
7.8
In the wild
Unconfirmed
What it is

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

netfs: Call `invalidate_cache` only if implemented

Many filesystems such as NFS and Ceph do not implement the

`invalidate_cache` method. On those filesystems, if writing to the

cache (`NETFS_WRITE_TO_CACHE`) fails for some reason, the kernel

crashes like this:

BUG: kernel NULL pointer dereference, address: 0000000000000000

#PF: supervisor instruction fetch in kernel mode

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

PGD 0 P4D 0

Oops: Oops: 0010 [#1] SMP PTI

CPU: 9 UID: 0 PID: 3380 Comm: kworker/u193:11 Not tainted 6.13.3-cm4all1-hp #437

Hardware name: HP ProLiant DL380 Gen9/ProLiant DL380 Gen9, BIOS P89 10/17/2018

Workqueue: events_unbound netfs_write_collection_worker

RIP: 0010:0x0

Code: Unable to access opcode bytes at 0xffffffffffffffd6.

RSP: 0018:ffff9b86e2ca7dc0 EFLAGS: 00010202

RAX: 0000000000000000 RBX: 0000000000000000 RCX: 7fffffffffffffff

RDX: 0000000000000001 RSI: ffff89259d576a18 RDI: ffff89259d576900

RBP: ffff89259d5769b0 R08: ffff9b86e2ca7d28 R09: 0000000000000002

R10: ffff89258ceaca80 R11: 0000000000000001 R12: 0000000000000020

R13: ffff893d158b9338 R14: ffff89259d576900 R15: ffff89259d5769b0

FS: 0000000000000000(0000) GS:ffff893c9fa40000(0000) knlGS:0000000000000000

CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033

CR2: ffffffffffffffd6 CR3: 000000054442e003 CR4: 00000000001706f0

Call Trace:

<TASK>

? __die+0x1f/0x60

? page_fault_oops+0x15c/0x460

? try_to_wake_up+0x2d2/0x530

? exc_page_fault+0x5e/0x100

? asm_exc_page_fault+0x22/0x30

netfs_write_collection_worker+0xe9f/0x12b0

? xs_poll_check_readable+0x3f/0x80

? xs_stream_data_receive_workfn+0x8d/0x110

process_one_work+0x134/0x2d0

worker_thread+0x299/0x3a0

? __pfx_worker_thread+0x10/0x10

kthread+0xba/0xe0

? __pfx_kthread+0x10/0x10

ret_from_fork+0x30/0x50

? __pfx_kthread+0x10/0x10

ret_from_fork_asm+0x1a/0x30

</TASK>

Modules linked in:

CR2: 0000000000000000

This patch adds the missing `NULL` check.

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00186 · 7.8th percentile
Published
2025-04-03T07:19Z
EPSS history
Timeline
  • 03 APR 07:19Z
    netfs: Call `invalidate_cache` only if implemented
    cvelistv5