CVE-2022-49171
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
26/02/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
ext4: don&#39;t BUG if someone dirty pages without asking ext4 first<br />
<br />
[un]pin_user_pages_remote is dirtying pages without properly warning<br />
the file system in advance. A related race was noted by Jan Kara in<br />
2018[1]; however, more recently instead of it being a very hard-to-hit<br />
race, it could be reliably triggered by process_vm_writev(2) which was<br />
discovered by Syzbot[2].<br />
<br />
This is technically a bug in mm/gup.c, but arguably ext4 is fragile in<br />
that if some other kernel subsystem dirty pages without properly<br />
notifying the file system using page_mkwrite(), ext4 will BUG, while<br />
other file systems will not BUG (although data will still be lost).<br />
<br />
So instead of crashing with a BUG, issue a warning (since there may be<br />
potential data loss) and just mark the page as clean to avoid<br />
unprivileged denial of service attacks until the problem can be<br />
properly fixed. More discussion and background can be found in the<br />
thread starting at [2].<br />
<br />
[1] https://lore.kernel.org/linux-mm/20180103100430.GE4911@quack2.suse.cz<br />
[2] https://lore.kernel.org/r/Yg0m6IjcNmfaSokM@google.com
Impact
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/0d3a6926f7e8be3c897fa46216ce13b119a9f56a
- https://git.kernel.org/stable/c/330d0e44fc5a47c27df958ecdd4693a3cb1d8b81
- https://git.kernel.org/stable/c/343117559ef41e992e326f7a92da1a8f254dfa8c
- https://git.kernel.org/stable/c/5a016c053f426a73752c3b41b60b497b58694d48
- https://git.kernel.org/stable/c/5db60e76edf5680ff1f3a7221036fc44b308f146
- https://git.kernel.org/stable/c/677c9d30e8487bee6c8e3b034070319d98f6e203
- https://git.kernel.org/stable/c/a0856764dc1276ad2dc7891288c2e9246bf11a37
- https://git.kernel.org/stable/c/cc5095747edfb054ca2068d01af20be3fcc3634f
- https://git.kernel.org/stable/c/d666dfaa571465a19f014534a214c255ea33f301