CVE-2022-48635·Kernel vulnerability
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().
- Severity
- medium
- Software
- Kernel
- Fixed in
- 5.19.12
- Published
- 2024-04-28
Affected versions
From: 5.16
Until: 5.19.12
Fixed in: 5.19.12
How to fix this CVE
Update your Linux kernel to version 5.19.12 or later to resolve an infinite loop condition in the DAX I/O mapping layer that can cause system hangs during read operations with zero-length counts. This patch is critical for systems using virtualized filesystems like virtiofs that may trigger the vulnerable code path. Apply the kernel update and reboot your system to complete the remediation.
sudo dnf update kernel kernel-develDefensia detects this vulnerability
How to check if you are affected
- Step 1: Check installed kernel version with `uname -r` and compare against the affected range (5.16.x through 5.19.11)
- Step 2: Verify if virtiofs or DAX-enabled filesystems are mounted by running `mount | grep -E 'virtiofs|dax'`
- Step 3: Monitor system logs for WARNING messages in fs/iomap/iter.c with `grep -i 'iomap_iter' /var/log/kern.log*` and check for infinite loop hangs during read operations
- Step 4: After kernel update and reboot, confirm the new version with `uname -r` and verify it is 5.19.12 or later
FAQ
What is CVE-2022-48635?
This vulnerability is an infinite loop condition in the Linux kernel's DAX I/O mapping function (dax_iomap_rw) that occurs when applications attempt read operations with a zero-length count, causing the system to hang with a kernel warning.
Is CVE-2022-48635 being actively exploited?
No, CVE-2022-48635 is not listed as actively exploited in the CISA Known Exploited Vulnerabilities catalog, and no public exploits are available.
What versions of Kernel are affected by CVE-2022-48635?
Linux kernel versions 5.16.0 through 5.19.11 are vulnerable; version 5.19.12 and later contain the fix.
How do I check if my server is vulnerable to CVE-2022-48635?
Run `uname -r` to check your kernel version. If it shows 5.16.x through 5.19.11, your system is vulnerable. Additionally, check if DAX-enabled filesystems are in use with `mount | grep dax`.
Does Defensia detect CVE-2022-48635?
Yes — Defensia's CVE advisory scanner compares installed package versions against the NVD database. If Kernel is installed on a monitored server, CVE-2022-48635 will appear in your dashboard with remediation steps.
Related Kernel CVEs
References
- https://git.kernel.org/stable/c/17d9c15c9b9e7fb285f7ac5367dfb5f00ff575e3
- https://git.kernel.org/stable/c/463f36137c40342fb03bba380c1bf703c40d89a6
- https://git.kernel.org/stable/c/60644dffac87b1bb47bdb393aa29d5f2ffcf41a0
- https://git.kernel.org/stable/c/929ef155e1da41c06f4d8ca86ae12b851a83a744
- https://git.kernel.org/stable/c/17d9c15c9b9e7fb285f7ac5367dfb5f00ff575e3
Track CVEs across your fleet automatically
Defensia scans your Linux servers and tells you exactly which ones are running vulnerable versions — including CVE-2022-48635. Free for 1 server.
Get started free