CVE-2024-50035: ppp: fix ppp_async_encode() illegal access
In the Linux kernel, the following vulnerability has been resolved:
ppp: fix pppasyncencode() illegal access
syzbot reported an issue in pppasyncencode() [1]
In this case, pppoesendmsg() is called with a zero size. Then pppasyncencode() is called with an empty skb.
BUG: KMSAN: uninit-value in pppasyncencode drivers/net/ppp/pppasync.c:545 [inline] BUG: KMSAN: uninit-value in pppasyncpush+0xb4f/0x2660 drivers/net/ppp/pppasync.c:675 pppasyncencode drivers/net/ppp/pppasync.c:545 [inline] pppasyncpush+0xb4f/0x2660 drivers/net/ppp/pppasync.c:675 pppasyncsend+0x130/0x1b0 drivers/net/ppp/pppasync.c:634 pppchannelbridgeinput drivers/net/ppp/pppgeneric.c:2280 [inline] pppinput+0x1f1/0xe60 drivers/net/ppp/pppgeneric.c:2304 pppoercvcore+0x1d3/0x720 drivers/net/ppp/pppoe.c:379 skbacklogrcv+0x13b/0x420 include/net/sock.h:1113 releasesock+0x1da/0x330 net/core/sock.c:3072 releasesock+0x6b/0x250 net/core/sock.c:3626 pppoesendmsg+0x2b8/0xb90 drivers/net/ppp/pppoe.c:903 socksendmsgnosec net/socket.c:729 [inline] socksendmsg+0x30f/0x380 net/socket.c:744 syssendmsg+0x903/0xb60 net/socket.c:2602 syssendmsg+0x28d/0x3c0 net/socket.c:2656 syssendmmsg+0x3c1/0x960 net/socket.c:2742 dosyssendmmsg net/socket.c:2771 [inline] sesyssendmmsg net/socket.c:2768 [inline] x64syssendmmsg+0xbc/0x120 net/socket.c:2768 x64syscall+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls64.h:308 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xcd/0x1e0 arch/x86/entry/common.c:83 entrySYSCALL64afterhwframe+0x77/0x7f
Uninit was created at: slabpostallochook mm/slub.c:4092 [inline] slaballocnode mm/slub.c:4135 [inline] kmemcacheallocnodenoprof+0x6bf/0xb80 mm/slub.c:4187 kmallocreserve+0x13d/0x4a0 net/core/skbuff.c:587 allocskb+0x363/0x7b0 net/core/skbuff.c:678 allocskb include/linux/skbuff.h:1322 [inline] sockwmalloc+0xfe/0x1a0 net/core/sock.c:2732 pppoesendmsg+0x3a7/0xb90 drivers/net/ppp/pppoe.c:867 socksendmsgnosec net/socket.c:729 [inline] socksendmsg+0x30f/0x380 net/socket.c:744 syssendmsg+0x903/0xb60 net/socket.c:2602 syssendmsg+0x28d/0x3c0 net/socket.c:2656 syssendmmsg+0x3c1/0x960 net/socket.c:2742 dosyssendmmsg net/socket.c:2771 [inline] sesyssendmmsg net/socket.c:2768 [inline] x64syssendmmsg+0xbc/0x120 net/socket.c:2768 x64syscall+0xb6e/0x3ba0 arch/x86/include/generated/asm/syscalls64.h:308 dosyscallx64 arch/x86/entry/common.c:52 [inline] dosyscall64+0xcd/0x1e0 arch/x86/entry/common.c:83 entrySYSCALL64afterhwframe+0x77/0x7f
CPU: 1 UID: 0 PID: 5411 Comm: syz.1.14 Not tainted 6.12.0-rc1-syzkaller-00165-g360c1f1f24c6 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/13/2024
Other sources
This CVE was automatically created from a reference found in an email or other text. If you are reading this, then this CVE entry is probably erroneous, since this text should be replaced by the official CVE description automatically.
— Launchpad
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2024-50035?
CVE-2024-50035 has not been assigned a specific severity rating, but it involves a potential illegal access issue in the Linux kernel.
How do I fix CVE-2024-50035?
To fix CVE-2024-50035, update your Linux kernel to version 6.1.123-1 or a later version that addresses this vulnerability.
Which versions of the Linux kernel are affected by CVE-2024-50035?
CVE-2024-50035 affects Linux kernel versions from 2.6.12 to 5.15.168, 5.16 to 6.1.113, and 6.2 to 6.6.57, among others.
What components of the Linux kernel are impacted by CVE-2024-50035?
CVE-2024-50035 specifically impacts the ppp_async_encode() function within the ppp subsystem of the Linux kernel.
Is CVE-2024-50035 a remote code execution vulnerability?
CVE-2024-50035 does not appear to be a remote code execution vulnerability but rather involves an illegal access issue during packet processing.