Description
In the Linux kernel, the following vulnerability has been resolved: kcm: Fix memory leak in error path of kcm_sendmsg() syzbot reported a memory leak like below: BUG: memory leak unreferenced object 0xffff88810b088c00 (size 240): comm "syz-executor186", pid 5012, jiffies 4294943306 (age 13.680s) hex dump (first 32 bytes): 00 89 08 0b 81 88 ff ff 00 00 00 00 00 00 00 00 ................ 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ backtrace: [<ffffffff83e5d5ff>] __alloc_skb+0x1ef/0x230 net/core/skbuff.c:634 [<ffffffff84606e59>] alloc_skb include/linux/skbuff.h:1289 [inline] [<ffffffff84606e59>] kcm_sendmsg+0x269/0x1050 net/kcm/kcmsock.c:815 [<ffffffff83e479c6>] sock_sendmsg_nosec net/socket.c:725 [inline] [<ffffffff83e479c6>] sock_sendmsg+0x56/0xb0 net/socket.c:748 [<ffffffff83e47f55>] ____sys_sendmsg+0x365/0x470 net/socket.c:2494 [<ffffffff83e4c389>] ___sys_sendmsg+0xc9/0x130 net/socket.c:2548 [<ffffffff83e4c536>] __sys_sendmsg+0xa6/0x120 net/socket.c:2577 [<ffffffff84ad7bb8>] do_syscall_x64 arch/x86/entry/common.c:50 [inline] [<ffffffff84ad7bb8>] do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80 [<ffffffff84c0008b>] entry_SYSCALL_64_after_hwframe+0x63/0xcd In kcm_sendmsg(), kcm_tx_msg(head)->last_skb is used as a cursor to append newly allocated skbs to 'head'. If some bytes are copied, an error occurred, and jumped to out_error label, 'last_skb' is left unmodified. A later kcm_sendmsg() will use an obsoleted 'last_skb' reference, corrupting the 'head' frag_list and causing the leak. This patch fixes this issue by properly updating the last allocated skb in 'last_skb'.
Product status
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before 8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before 5e5554389397e98fafb9efe395d8b4830dd5f042
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before 479c71cda14b3c3a6515773faa39055333eaa2b7
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before 33db24ad811b3576a0c2f8862506763f2be925b0
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before 97275339c34cfbccd65e87bc38fd910ae66c48ba
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before 16989de75497574b5fafd174c0c233d5a86858b7
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before af8085e0fc3207ecbf8b9e7a635c790e36d058c6
ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 (git) before c821a88bd720b0046433173185fd841a100d44ad
4.6
Any version before 4.6
4.14.326 (semver)
4.19.295 (semver)
5.4.257 (semver)
5.10.195 (semver)
5.15.132 (semver)
6.1.54 (semver)
6.5.4 (semver)
6.6 (original_commit_for_fix)
References
git.kernel.org/...c/8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b
git.kernel.org/...c/5e5554389397e98fafb9efe395d8b4830dd5f042
git.kernel.org/...c/479c71cda14b3c3a6515773faa39055333eaa2b7
git.kernel.org/...c/33db24ad811b3576a0c2f8862506763f2be925b0
git.kernel.org/...c/97275339c34cfbccd65e87bc38fd910ae66c48ba
git.kernel.org/...c/16989de75497574b5fafd174c0c233d5a86858b7
git.kernel.org/...c/af8085e0fc3207ecbf8b9e7a635c790e36d058c6
git.kernel.org/...c/c821a88bd720b0046433173185fd841a100d44ad
Data based on CVE®. Copyright © 1999-2025, The MITRE Corporation. All rights reserved.