CVE-2022-48635

fsdax: Fix infinite loop in dax_iomap_rw()

Medium · published April 28, 2024

CVSS v3.1
6.2
EPSS
0%
Percentile
13.5
In the wild
Unconfirmed
What it is

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

fsdax: Fix infinite loop in dax_iomap_rw()

I got an infinite loop and a WARNING report when executing a tail command

in virtiofs.

WARNING: CPU: 10 PID: 964 at fs/iomap/iter.c:34 iomap_iter+0x3a2/0x3d0

Modules linked in:

CPU: 10 PID: 964 Comm: tail Not tainted 5.19.0-rc7

Call Trace:

<TASK>

dax_iomap_rw+0xea/0x620

? __this_cpu_preempt_check+0x13/0x20

fuse_dax_read_iter+0x47/0x80

fuse_file_read_iter+0xae/0xd0

new_sync_read+0xfe/0x180

? 0xffffffff81000000

vfs_read+0x14d/0x1a0

ksys_read+0x6d/0xf0

__x64_sys_read+0x1a/0x20

do_syscall_64+0x3b/0x90

entry_SYSCALL_64_after_hwframe+0x63/0xcd

The tail command will call read() with a count of 0. In this case,

iomap_iter() will report this WARNING, and always return 1 which casuing

the infinite loop in dax_iomap_rw().

Fixing by checking count whether is 0 in dax_iomap_rw().

The record
Technical detail
CVSS v3.1
6.2 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00234 · 13.5th percentile
Published
2024-04-28T12:59Z
EPSS history
Timeline
  • 28 APR 12:59Z
    fsdax: Fix infinite loop in dax_iomap_rw()
    cvelistv5