{"id":"CVE-2022-50639","state":"PUBLISHED","title":"io-wq: Fix memory leak in worker creation","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nio-wq: Fix memory leak in worker creation\n\nIf the CPU mask allocation for a node fails, then the memory allocated for\nthe 'io_wqe' struct of the current node doesn't get freed on the error\nhandling path, since it has not yet been added to the 'wqes' array.\n\nThis was spotted when fuzzing v6.1-rc1 with Syzkaller:\nBUG: memory leak\nunreferenced object 0xffff8880093d5000 (size 1024):\n  comm \"syz-executor.2\", pid 7701, jiffies 4295048595 (age 13.900s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [<00000000cb463369>] __kmem_cache_alloc_node+0x18e/0x720\n    [<00000000147a3f9c>] kmalloc_node_trace+0x2a/0x130\n    [<000000004e107011>] io_wq_create+0x7b9/0xdc0\n    [<00000000c38b2018>] io_uring_alloc_task_context+0x31e/0x59d\n    [<00000000867399da>] __io_uring_add_tctx_node.cold+0x19/0x1ba\n    [<000000007e0e7a79>] io_uring_setup.cold+0x1b80/0x1dce\n    [<00000000b545e9f6>] __x64_sys_io_uring_setup+0x5d/0x80\n    [<000000008a8a7508>] do_syscall_64+0x5d/0x90\n    [<000000004ac08bec>] entry_SYSCALL_64_after_hwframe+0x63/0xcd","publishedAt":"2025-12-09T00:00:12.576Z","updatedAt":"2026-05-11T19:22:44.249Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0e03496d1967abf1ebb151a24318c07d07f41f7f","status":"affected","lessThan":"b6e2c54be37d5eb4f6666e6aa59cd0581c7ffc3c","versionType":"git"},{"version":"0e03496d1967abf1ebb151a24318c07d07f41f7f","status":"affected","lessThan":"ed981911a7c90a604f4a2bee908ab07e3b786aca","versionType":"git"},{"version":"0e03496d1967abf1ebb151a24318c07d07f41f7f","status":"affected","lessThan":"996d3efeb091c503afd3ee6b5e20eabf446fd955","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["io_uring/io-wq.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.14","versionType":"semver"},{"version":"5.15.75","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.4","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":["io_uring/io-wq.c"]}],"references":["https://git.kernel.org/stable/c/b6e2c54be37d5eb4f6666e6aa59cd0581c7ffc3c","https://git.kernel.org/stable/c/ed981911a7c90a604f4a2bee908ab07e3b786aca","https://git.kernel.org/stable/c/996d3efeb091c503afd3ee6b5e20eabf446fd955"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/50xxx/CVE-2022-50639.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50639","state":"PUBLISHED","datePublished":"2025-12-09T00:00:12.576Z","dateUpdated":"2026-05-11T19:22:44.249Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-12-08T23:57:43.370Z"},"containers":{"cna":{"title":"io-wq: Fix memory leak in worker creation","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nio-wq: Fix memory leak in worker creation\n\nIf the CPU mask allocation for a node fails, then the memory allocated for\nthe 'io_wqe' struct of the current node doesn't get freed on the error\nhandling path, since it has not yet been added to the 'wqes' array.\n\nThis was spotted when fuzzing v6.1-rc1 with Syzkaller:\nBUG: memory leak\nunreferenced object 0xffff8880093d5000 (size 1024):\n  comm \"syz-executor.2\", pid 7701, jiffies 4295048595 (age 13.900s)\n  hex dump (first 32 bytes):\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................\n  backtrace:\n    [<00000000cb463369>] __kmem_cache_alloc_node+0x18e/0x720\n    [<00000000147a3f9c>] kmalloc_node_trace+0x2a/0x130\n    [<000000004e107011>] io_wq_create+0x7b9/0xdc0\n    [<00000000c38b2018>] io_uring_alloc_task_context+0x31e/0x59d\n    [<00000000867399da>] __io_uring_add_tctx_node.cold+0x19/0x1ba\n    [<000000007e0e7a79>] io_uring_setup.cold+0x1b80/0x1dce\n    [<00000000b545e9f6>] __x64_sys_io_uring_setup+0x5d/0x80\n    [<000000008a8a7508>] do_syscall_64+0x5d/0x90\n    [<000000004ac08bec>] entry_SYSCALL_64_after_hwframe+0x63/0xcd"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"0e03496d1967abf1ebb151a24318c07d07f41f7f","status":"affected","lessThan":"b6e2c54be37d5eb4f6666e6aa59cd0581c7ffc3c","versionType":"git"},{"version":"0e03496d1967abf1ebb151a24318c07d07f41f7f","status":"affected","lessThan":"ed981911a7c90a604f4a2bee908ab07e3b786aca","versionType":"git"},{"version":"0e03496d1967abf1ebb151a24318c07d07f41f7f","status":"affected","lessThan":"996d3efeb091c503afd3ee6b5e20eabf446fd955","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["io_uring/io-wq.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.14","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.14","versionType":"semver"},{"version":"5.15.75","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.0.4","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":["io_uring/io-wq.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/b6e2c54be37d5eb4f6666e6aa59cd0581c7ffc3c"},{"url":"https://git.kernel.org/stable/c/ed981911a7c90a604f4a2bee908ab07e3b786aca"},{"url":"https://git.kernel.org/stable/c/996d3efeb091c503afd3ee6b5e20eabf446fd955"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:22:44.249Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"5.15.75"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.0.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.14","versionEndExcluding":"6.1"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}