CVE-2022-50092

Source
https://cve.org/CVERecord?id=CVE-2022-50092
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50092.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-50092
Downstream
Related
Published
2025-06-18T11:02:31.372Z
Modified
2026-03-20T12:24:53.715173Z
Summary
dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
Details

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

dm thin: fix use-after-free crash in dmsmregisterthresholdcallback

Fault inject on pool metadata device reports: BUG: KASAN: use-after-free in dmpoolregistermetadatathreshold+0x40/0x80 Read of size 8 at addr ffff8881b9d50068 by task dmsetup/950

CPU: 7 PID: 950 Comm: dmsetup Tainted: G W 5.19.0-rc6 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-1.fc33 04/01/2014 Call Trace: <TASK> dumpstacklvl+0x34/0x44 printaddressdescription.constprop.0.cold+0xeb/0x3f4 kasanreport.cold+0xe6/0x147 dmpoolregistermetadatathreshold+0x40/0x80 poolctr+0xa0a/0x1150 dmtableaddtarget+0x2c8/0x640 tableload+0x1fd/0x430 ctlioctl+0x2c4/0x5a0 dmctl_ioctl+0xa/0x10 __x64sysioctl+0xb3/0xd0 dosyscall64+0x35/0x80 entrySYSCALL64afterhwframe+0x46/0xb0

This can be easily reproduced using: echo offline > /sys/block/sda/device/state dd if=/dev/zero of=/dev/mapper/thin bs=4k count=10 dmsetup load pool --table "0 20971520 thin-pool /dev/sda /dev/sdb 128 0 0"

If a metadata commit fails, the transaction will be aborted and the metadata space maps will be destroyed. If a DM table reload then happens for this failed thin-pool, a use-after-free will occur in dmsmregisterthresholdcallback (called from dmpoolregistermetadatathreshold).

Fix this by in dmpoolregistermetadatathreshold() by returning the -EINVAL error if the thin-pool is in fail mode. Also fail pool_ctr() with a new error message: "Error registering metadata threshold".

Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2022/50xxx/CVE-2022-50092.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
ac8c3f3df65e487bbcabf274eeeb9cd222f5da1e
Fixed
05cef0999b3208b5a6ede1bfac855139e4de55ef
Fixed
5e2cf705155a1514be3c96ea664a9cd356998ee7
Fixed
f83131a3071a0b61a4d7dca70f95adb3ffad920e
Fixed
1a199fa9217d28511ff88529238fd9980ea64cf3
Fixed
e4dbe24f4bfd8377e7ba79fdcdb7c4d6eb1c6790
Fixed
3534e5a5ed2997ca1b00f44a0378a075bd05e8a3

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-50092.json"