{"id":"CVE-2022-49870","state":"PUBLISHED","title":"capabilities: fix undefined behavior in bit shift for CAP_TO_MASK","description":"In the Linux kernel, the following vulnerability has been resolved:\n\ncapabilities: fix undefined behavior in bit shift for CAP_TO_MASK\n\nShifting signed 32-bit value by 31 bits is undefined, so changing\nsignificant bit to unsigned. The UBSAN warning calltrace like below:\n\nUBSAN: shift-out-of-bounds in security/commoncap.c:1252:2\nleft shift of 1 by 31 places cannot be represented in type 'int'\nCall Trace:\n <TASK>\n dump_stack_lvl+0x7d/0xa5\n dump_stack+0x15/0x1b\n ubsan_epilogue+0xe/0x4e\n __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c\n cap_task_prctl+0x561/0x6f0\n security_task_prctl+0x5a/0xb0\n __x64_sys_prctl+0x61/0x8f0\n do_syscall_64+0x58/0x80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n </TASK>","publishedAt":"2025-05-01T14:10:21.134Z","updatedAt":"2026-05-11T19:08:20.102Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"5b79fa628e2ab789e629a83cd211ef9b4c1a593e","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"65b0bc7a0690861812ade523d19f82688ab819dc","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"dbaab08c8677d598244d21afb7818e44e1c5d826","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"5661f111a1616ac105ec8cec81bff99b60f847ac","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"fcbd2b336834bd24e1d9454ad5737856470c10d7","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"151dc8087b5609e53b069c068e3f3ee100efa586","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"27bdb134c043ff32c459d98f16550d0ffa0b3c34","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"46653972e3ea64f79e7f8ae3aa41a4d3fdb70a13","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/uapi/linux/capability.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.25","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.25","versionType":"semver"},{"version":"4.9.334","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.300","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.267","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.225","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.155","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.79","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.9","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/uapi/linux/capability.h"]}],"references":["https://git.kernel.org/stable/c/5b79fa628e2ab789e629a83cd211ef9b4c1a593e","https://git.kernel.org/stable/c/65b0bc7a0690861812ade523d19f82688ab819dc","https://git.kernel.org/stable/c/dbaab08c8677d598244d21afb7818e44e1c5d826","https://git.kernel.org/stable/c/5661f111a1616ac105ec8cec81bff99b60f847ac","https://git.kernel.org/stable/c/fcbd2b336834bd24e1d9454ad5737856470c10d7","https://git.kernel.org/stable/c/151dc8087b5609e53b069c068e3f3ee100efa586","https://git.kernel.org/stable/c/27bdb134c043ff32c459d98f16550d0ffa0b3c34","https://git.kernel.org/stable/c/46653972e3ea64f79e7f8ae3aa41a4d3fdb70a13"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49870.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49870","state":"PUBLISHED","datePublished":"2025-05-01T14:10:21.134Z","dateUpdated":"2026-05-11T19:08:20.102Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-01T14:05:17.237Z"},"containers":{"cna":{"title":"capabilities: fix undefined behavior in bit shift for CAP_TO_MASK","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\ncapabilities: fix undefined behavior in bit shift for CAP_TO_MASK\n\nShifting signed 32-bit value by 31 bits is undefined, so changing\nsignificant bit to unsigned. The UBSAN warning calltrace like below:\n\nUBSAN: shift-out-of-bounds in security/commoncap.c:1252:2\nleft shift of 1 by 31 places cannot be represented in type 'int'\nCall Trace:\n <TASK>\n dump_stack_lvl+0x7d/0xa5\n dump_stack+0x15/0x1b\n ubsan_epilogue+0xe/0x4e\n __ubsan_handle_shift_out_of_bounds+0x1e7/0x20c\n cap_task_prctl+0x561/0x6f0\n security_task_prctl+0x5a/0xb0\n __x64_sys_prctl+0x61/0x8f0\n do_syscall_64+0x58/0x80\n entry_SYSCALL_64_after_hwframe+0x63/0xcd\n </TASK>"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"5b79fa628e2ab789e629a83cd211ef9b4c1a593e","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"65b0bc7a0690861812ade523d19f82688ab819dc","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"dbaab08c8677d598244d21afb7818e44e1c5d826","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"5661f111a1616ac105ec8cec81bff99b60f847ac","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"fcbd2b336834bd24e1d9454ad5737856470c10d7","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"151dc8087b5609e53b069c068e3f3ee100efa586","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"27bdb134c043ff32c459d98f16550d0ffa0b3c34","versionType":"git"},{"version":"e338d263a76af78fe8f38a72131188b58fceb591","status":"affected","lessThan":"46653972e3ea64f79e7f8ae3aa41a4d3fdb70a13","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/uapi/linux/capability.h"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"2.6.25","status":"affected"},{"version":"0","status":"unaffected","lessThan":"2.6.25","versionType":"semver"},{"version":"4.9.334","status":"unaffected","lessThanOrEqual":"4.9.*","versionType":"semver"},{"version":"4.14.300","status":"unaffected","lessThanOrEqual":"4.14.*","versionType":"semver"},{"version":"4.19.267","status":"unaffected","lessThanOrEqual":"4.19.*","versionType":"semver"},{"version":"5.4.225","status":"unaffected","lessThanOrEqual":"5.4.*","versionType":"semver"},{"version":"5.10.155","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.79","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.9","status":"unaffected","lessThanOrEqual":"6.0.*","versionType":"semver"},{"version":"6.1","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["include/uapi/linux/capability.h"]}],"references":[{"url":"https://git.kernel.org/stable/c/5b79fa628e2ab789e629a83cd211ef9b4c1a593e"},{"url":"https://git.kernel.org/stable/c/65b0bc7a0690861812ade523d19f82688ab819dc"},{"url":"https://git.kernel.org/stable/c/dbaab08c8677d598244d21afb7818e44e1c5d826"},{"url":"https://git.kernel.org/stable/c/5661f111a1616ac105ec8cec81bff99b60f847ac"},{"url":"https://git.kernel.org/stable/c/fcbd2b336834bd24e1d9454ad5737856470c10d7"},{"url":"https://git.kernel.org/stable/c/151dc8087b5609e53b069c068e3f3ee100efa586"},{"url":"https://git.kernel.org/stable/c/27bdb134c043ff32c459d98f16550d0ffa0b3c34"},{"url":"https://git.kernel.org/stable/c/46653972e3ea64f79e7f8ae3aa41a4d3fdb70a13"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:08:20.102Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"4.9.334"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"4.14.300"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"4.19.267"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"5.4.225"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"5.10.155"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"5.15.79"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"6.0.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"2.6.25","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}