CVE-2023-54112
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'.
How to fix
- Linux Linux8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b, 5e5554389397e98fafb9efe395d8b4830dd5f042, 479c71cda14b3c3a6515773faa39055333eaa2b7, 33db24ad811b3576a0c2f8862506763f2be925b0, 97275339c34cfbccd65e87bc38fd910ae66c48ba, 16989de75497574b5fafd174c0c233d5a86858b7, af8085e0fc3207ecbf8b9e7a635c790e36d058c6, c821a88bd720b0046433173185fd841a100d44ad or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < 8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < 5e5554389397e98fafb9efe395d8b4830dd5f042, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < 479c71cda14b3c3a6515773faa39055333eaa2b7, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < 33db24ad811b3576a0c2f8862506763f2be925b0, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < 97275339c34cfbccd65e87bc38fd910ae66c48ba, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < 16989de75497574b5fafd174c0c233d5a86858b7, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < af8085e0fc3207ecbf8b9e7a635c790e36d058c6, ab7ac4eb9832e32a09f4e8042705484d2fb0aad3 ≤ v < c821a88bd720b0046433173185fd841a100d44ad, 4.6 | 8dc7eb757b1652b82725f32e0c89a1e9f6c0e13b, 5e5554389397e98fafb9efe395d8b4830dd5f042, 479c71cda14b3c3a6515773faa39055333eaa2b7, 33db24ad811b3576a0c2f8862506763f2be925b0, 97275339c34cfbccd65e87bc38fd910ae66c48ba, 16989de75497574b5fafd174c0c233d5a86858b7, af8085e0fc3207ecbf8b9e7a635c790e36d058c6, c821a88bd720b0046433173185fd841a100d44ad |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.