CVE-2022-49771: linux Race Condition
Vulnerability summary
CVE-2022-49771 is a medium (CVSS 4.7) Race Condition vulnerability in linux. EPSS estimates a 0.16% chance of exploitation in the next 30 days, higher than 4.6% of scored vulnerabilities.
Advisory lineage
Upstream 0 · Downstream 7 · Related 7Timeline
- 01-05-2025PublishedVulnerability first disclosed.
- 11-05-2026Last modifiedVulnerability information updated.
Description
In the Linux kernel, the following vulnerability has been resolved: dm ioctl: fix misbehavior if list_versions races with module loading __list_versions will first estimate the required space using the "dm_target_iterate(list_version_get_needed, &needed)" call and then will fill the space using the "dm_target_iterate(list_version_get_info, &iter_info)" call. Each of these calls locks the targets using the "down_read(&_lock)" and "up_read(&_lock)" calls, however between the first and second "dm_target_iterate" there is no lock held and the target modules can be loaded at this point, so the second "dm_target_iterate" call may need more space than what was the first "dm_target_iterate" returned. The code tries to handle this overflow (see the beginning of list_version_get_info), however this handling is incorrect. The code sets "param->data_size = param->data_start + needed" and "iter_info.end = (char *)vers+len" - "needed" is the size returned by the first dm_target_iterate call; "len" is the size of the buffer allocated by userspace. "len" may be greater than "needed"; in this case, the code will write up to "len" bytes into the buffer, however param->data_size is set to "needed", so it may write data past the param->data_size value. The ioctl interface copies only up to param->data_size into userspace, thus part of the result will be truncated. Fix this bug by setting "iter_info.end = (char *)vers + needed;" - this guarantees that the second "dm_target_iterate" call will write only up to the "needed" buffer and it will exit with "DM_BUFFER_FULL_FLAG" if it overflows the "needed" space - in this case, userspace will allocate a larger buffer and retry. Note that there is also a bug in list_version_get_needed - we need to add "strlen(tt->name) + 1" to the needed size, not "strlen(tt->name)".
CVSS metrics
3 scores · 3 sources · 1 version- OSV · UbuntuEcosystem advisory · calculated4.7MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
- OSV · DebianEcosystem advisory · calculated4.7MediumCVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H
EPSS trend
Probability
0.16%
Chance of exploitation in the next 30 days
Percentile
5%
Versus all other CVEs
30-day change
0.00 pp
From 0.15% on 21-09-2026
Known exploited
Compare KEV catalogsNot in any of the 3 tracked catalogs.
Public exploits
0 foundNo public exploits indexed.
Weaknesses
CWE · root causeAffected systems
Ubuntu114 products
- linuxAll versions (No fix recorded) | < 4.15.0-206.217 | < 5.4.0-144.161 | < 5.15.0-67.74
- linux-allwinner-5.19All versions (No fix recorded)
- linux-awsAll versions (No fix recorded) | < 4.15.0-1151.164 | < 5.4.0-1097.105 | < 5.15.0-1031.35
- linux-aws-5.0All versions (No fix recorded)
- linux-aws-5.11All versions (No fix recorded)
Linux2 products
- linux≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 0c8d4112df329bf3dfbf27693f918c3b08676538 | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 6a818db0d5aecf80d4ba9e10ac153f60adc629ca | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 3a1c35d72dc0b34d1e746ed705790c0f630aa427 | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < b545c0e1e4094d4de2bdfe9a3823f9154b0c0005 | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < f59f5a269ca5e43c567aca7f1f52500a0186e9b7 | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 6ffce7a92ef5c68f7e5d6f4d722c2f96280c064b | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 5398b8e275bf81a2517b327d216c0f37ac9ac5ae | ≥ 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2, < 4fe1ec995483737f3d2a14c3fe1d8fe634972979 | 2.6.12
- linux_kernel< 4.9.334 | ≥ 4.10, < 4.14.300 | ≥ 4.15, < 4.19.267 | ≥ 4.20, < 5.4.225 | ≥ 5.5, < 5.10.156 | ≥ 5.11, < 5.15.80 | ≥ 5.16, < 6.0.10 | 6.1:rc1 | 6.1:rc2 | 6.1:rc3 | 6.1:rc4 | 6.1:rc5
Debian1 product
- linux< 6.0.10-1
3 vendors · 117 products