{"id":"CVE-2022-49877","state":"PUBLISHED","title":"bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues\n\nWhen running `test_sockmap` selftests, the following warning appears:\n\n  WARNING: CPU: 2 PID: 197 at net/core/stream.c:205 sk_stream_kill_queues+0xd3/0xf0\n  Call Trace:\n  <TASK>\n  inet_csk_destroy_sock+0x55/0x110\n  tcp_rcv_state_process+0xd28/0x1380\n  ? tcp_v4_do_rcv+0x77/0x2c0\n  tcp_v4_do_rcv+0x77/0x2c0\n  __release_sock+0x106/0x130\n  __tcp_close+0x1a7/0x4e0\n  tcp_close+0x20/0x70\n  inet_release+0x3c/0x80\n  __sock_release+0x3a/0xb0\n  sock_close+0x14/0x20\n  __fput+0xa3/0x260\n  task_work_run+0x59/0xb0\n  exit_to_user_mode_prepare+0x1b3/0x1c0\n  syscall_exit_to_user_mode+0x19/0x50\n  do_syscall_64+0x48/0x90\n  entry_SYSCALL_64_after_hwframe+0x44/0xae\n\nThe root case is in commit 84472b436e76 (\"bpf, sockmap: Fix more uncharged\nwhile msg has more_data\"), where I used msg->sg.size to replace the tosend,\ncausing breakage:\n\n  if (msg->apply_bytes && msg->apply_bytes < tosend)\n    tosend = psock->apply_bytes;","publishedAt":"2025-05-01T14:10:25.682Z","updatedAt":"2026-05-23T15:23:07.753Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"244ce90c8d0bd10ebf957da02c6f3fcd5d920bdf","status":"affected","lessThan":"d975bec1eaeb52341acc9273db79ddb078220399","versionType":"git"},{"version":"7b812a369e6416ab06d83cdd39d8e3f752781dd0","status":"affected","lessThan":"cc21dc48a78cc9e5af9a4d039cd456446a6e73ff","versionType":"git"},{"version":"168ff181f5b6e7fce684c98a30d35da1dbf8f82a","status":"affected","lessThan":"95adbd2ac8de82e43fd6b347e7e1b47f74dc1abb","versionType":"git"},{"version":"84472b436e760ba439e1969a9e3c5ae7c86de39d","status":"affected","lessThan":"14e8bc3bf7bd6af64d7538a0684c8238d96cdfd7","versionType":"git"},{"version":"84472b436e760ba439e1969a9e3c5ae7c86de39d","status":"affected","lessThan":"8ec95b94716a1e4d126edc3fb2bc426a717e2dba","versionType":"git"},{"version":"87d532d41ef937e16f61b3d2094f3a2ac49be365","status":"affected","versionType":"git"},{"version":"abb4caa477a5450817d2aa1198edce66450aecf8","status":"affected","versionType":"git"},{"version":"5.4.189","status":"affected","lessThan":"5.4.225","versionType":"semver"},{"version":"5.10.110","status":"affected","lessThan":"5.10.155","versionType":"semver"},{"version":"5.15.33","status":"affected","lessThan":"5.15.79","versionType":"semver"},{"version":"5.16.19","status":"affected","lessThan":"5.17","versionType":"semver"},{"version":"5.17.2","status":"affected","lessThan":"5.18","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/tcp_bpf.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","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":["net/ipv4/tcp_bpf.c"]}],"references":["https://git.kernel.org/stable/c/d975bec1eaeb52341acc9273db79ddb078220399","https://git.kernel.org/stable/c/cc21dc48a78cc9e5af9a4d039cd456446a6e73ff","https://git.kernel.org/stable/c/95adbd2ac8de82e43fd6b347e7e1b47f74dc1abb","https://git.kernel.org/stable/c/14e8bc3bf7bd6af64d7538a0684c8238d96cdfd7","https://git.kernel.org/stable/c/8ec95b94716a1e4d126edc3fb2bc426a717e2dba"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/49xxx/CVE-2022-49877.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-49877","state":"PUBLISHED","datePublished":"2025-05-01T14:10:25.682Z","dateUpdated":"2026-05-23T15:23:07.753Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-05-01T14:05:17.238Z"},"containers":{"cna":{"title":"bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nbpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues\n\nWhen running `test_sockmap` selftests, the following warning appears:\n\n  WARNING: CPU: 2 PID: 197 at net/core/stream.c:205 sk_stream_kill_queues+0xd3/0xf0\n  Call Trace:\n  <TASK>\n  inet_csk_destroy_sock+0x55/0x110\n  tcp_rcv_state_process+0xd28/0x1380\n  ? tcp_v4_do_rcv+0x77/0x2c0\n  tcp_v4_do_rcv+0x77/0x2c0\n  __release_sock+0x106/0x130\n  __tcp_close+0x1a7/0x4e0\n  tcp_close+0x20/0x70\n  inet_release+0x3c/0x80\n  __sock_release+0x3a/0xb0\n  sock_close+0x14/0x20\n  __fput+0xa3/0x260\n  task_work_run+0x59/0xb0\n  exit_to_user_mode_prepare+0x1b3/0x1c0\n  syscall_exit_to_user_mode+0x19/0x50\n  do_syscall_64+0x48/0x90\n  entry_SYSCALL_64_after_hwframe+0x44/0xae\n\nThe root case is in commit 84472b436e76 (\"bpf, sockmap: Fix more uncharged\nwhile msg has more_data\"), where I used msg->sg.size to replace the tosend,\ncausing breakage:\n\n  if (msg->apply_bytes && msg->apply_bytes < tosend)\n    tosend = psock->apply_bytes;"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"244ce90c8d0bd10ebf957da02c6f3fcd5d920bdf","status":"affected","lessThan":"d975bec1eaeb52341acc9273db79ddb078220399","versionType":"git"},{"version":"7b812a369e6416ab06d83cdd39d8e3f752781dd0","status":"affected","lessThan":"cc21dc48a78cc9e5af9a4d039cd456446a6e73ff","versionType":"git"},{"version":"168ff181f5b6e7fce684c98a30d35da1dbf8f82a","status":"affected","lessThan":"95adbd2ac8de82e43fd6b347e7e1b47f74dc1abb","versionType":"git"},{"version":"84472b436e760ba439e1969a9e3c5ae7c86de39d","status":"affected","lessThan":"14e8bc3bf7bd6af64d7538a0684c8238d96cdfd7","versionType":"git"},{"version":"84472b436e760ba439e1969a9e3c5ae7c86de39d","status":"affected","lessThan":"8ec95b94716a1e4d126edc3fb2bc426a717e2dba","versionType":"git"},{"version":"87d532d41ef937e16f61b3d2094f3a2ac49be365","status":"affected","versionType":"git"},{"version":"abb4caa477a5450817d2aa1198edce66450aecf8","status":"affected","versionType":"git"},{"version":"5.4.189","status":"affected","lessThan":"5.4.225","versionType":"semver"},{"version":"5.10.110","status":"affected","lessThan":"5.10.155","versionType":"semver"},{"version":"5.15.33","status":"affected","lessThan":"5.15.79","versionType":"semver"},{"version":"5.16.19","status":"affected","lessThan":"5.17","versionType":"semver"},{"version":"5.17.2","status":"affected","lessThan":"5.18","versionType":"semver"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["net/ipv4/tcp_bpf.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.18","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":["net/ipv4/tcp_bpf.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/d975bec1eaeb52341acc9273db79ddb078220399"},{"url":"https://git.kernel.org/stable/c/cc21dc48a78cc9e5af9a4d039cd456446a6e73ff"},{"url":"https://git.kernel.org/stable/c/95adbd2ac8de82e43fd6b347e7e1b47f74dc1abb"},{"url":"https://git.kernel.org/stable/c/14e8bc3bf7bd6af64d7538a0684c8238d96cdfd7"},{"url":"https://git.kernel.org/stable/c/8ec95b94716a1e4d126edc3fb2bc426a717e2dba"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-23T15:23:07.753Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.4.189","versionEndExcluding":"5.4.225"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.10.110","versionEndExcluding":"5.10.155"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.15.33","versionEndExcluding":"5.15.79"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.0.9"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.18","versionEndExcluding":"6.1"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.16.19"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.17.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}