kcm: Fix memory leak in error path of kcm_sendmsg()
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:
[] __alloc_skb+0x1ef/0x230 net/core/skbuff.c:634
[] alloc_skb include/linux/skbuff.h:1289 [inline]
[] kcm_sendmsg+0x269/0x1050 net/kcm/kcmsock.c:815
[] sock_sendmsg_nosec net/socket.c:725 [inline]
[] sock_sendmsg+0x56/0xb0 net/socket.c:748
[] ____sys_sendmsg+0x365/0x470 net/socket.c:2494
[] ___sys_sendmsg+0xc9/0x130 net/socket.c:2548
[] __sys_sendmsg+0xa6/0x120 net/socket.c:2577
[] do_syscall_x64 arch/x86/entry/common.c:50 [inline]
[] do_syscall_64+0x38/0xb0 arch/x86/entry/common.c:80
[] 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'.
CVE 정보
EPSS
EPSS는 취약점이 악용될 가능성을 예측하는 점수 모델입니다.
EPSS 점수
EPSS 모델은 0과 1(0~100%) 사이의 확률 점수를 생성합니다. 점수가 높을수록 취약점이 악용될 가능성이 높습니다.
날짜
EPSS V0
EPSS V1
EPSS V2 (> 2022-02-04)
EPSS V3 (> 2025-03-07)
EPSS V4 (> 2025-03-17)
2025-12-25
–
–
–
–
0.02%
2025-12-30
–
–
–
–
0.03%
2026-01-25
–
–
–
–
0.04%
2026-03-08
–
–
–
–
0.04%
2026-04-26
–
–
–
–
0.05%
2026-05-10
–
–
–
–
0.05%
2026-05-31
–
–
–
–
0.03%
2026-06-07
–
–
–
–
0.04%
2026-06-14
–
–
–
–
0.04%
EPSS 백분위수
백분위수는 EPSS 점수에 따라 CVE의 순위를 매기는 데 사용됩니다. 예를 들어 EPSS 점수 기준 95번째 백분위수의 CVE는 다른 CVE의 95%보다 악용될 가능성이 높습니다.