CVE-2025-37961

ipvs: fix uninit-value for saddr in do_output_route4

published May 20, 2025

CVSS
—
EPSS
0%
Percentile
8.2
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

ipvs: fix uninit-value for saddr in do_output_route4

syzbot reports for uninit-value for the saddr argument [1].

commit 4754957f04f5 ("ipvs: do not use random local source address for

tunnels") already implies that the input value of saddr

should be ignored but the code is still reading it which can prevent

to connect the route. Fix it by changing the argument to ret_saddr.

[1]

BUG: KMSAN: uninit-value in do_output_route4+0x42c/0x4d0 net/netfilter/ipvs/ip_vs_xmit.c:147

do_output_route4+0x42c/0x4d0 net/netfilter/ipvs/ip_vs_xmit.c:147

__ip_vs_get_out_rt+0x403/0x21d0 net/netfilter/ipvs/ip_vs_xmit.c:330

ip_vs_tunnel_xmit+0x205/0x2380 net/netfilter/ipvs/ip_vs_xmit.c:1136

ip_vs_in_hook+0x1aa5/0x35b0 net/netfilter/ipvs/ip_vs_core.c:2063

nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]

nf_hook_slow+0xf7/0x400 net/netfilter/core.c:626

nf_hook include/linux/netfilter.h:269 [inline]

__ip_local_out+0x758/0x7e0 net/ipv4/ip_output.c:118

ip_local_out net/ipv4/ip_output.c:127 [inline]

ip_send_skb+0x6a/0x3c0 net/ipv4/ip_output.c:1501

udp_send_skb+0xfda/0x1b70 net/ipv4/udp.c:1195

udp_sendmsg+0x2fe3/0x33c0 net/ipv4/udp.c:1483

inet_sendmsg+0x1fc/0x280 net/ipv4/af_inet.c:851

sock_sendmsg_nosec net/socket.c:712 [inline]

__sock_sendmsg+0x267/0x380 net/socket.c:727

____sys_sendmsg+0x91b/0xda0 net/socket.c:2566

___sys_sendmsg+0x28d/0x3c0 net/socket.c:2620

__sys_sendmmsg+0x41d/0x880 net/socket.c:2702

__compat_sys_sendmmsg net/compat.c:360 [inline]

__do_compat_sys_sendmmsg net/compat.c:367 [inline]

__se_compat_sys_sendmmsg net/compat.c:364 [inline]

__ia32_compat_sys_sendmmsg+0xc8/0x140 net/compat.c:364

ia32_sys_call+0x3ffa/0x41f0 arch/x86/include/generated/asm/syscalls_32.h:346

do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]

__do_fast_syscall_32+0xb0/0x110 arch/x86/entry/syscall_32.c:306

do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331

do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:369

entry_SYSENTER_compat_after_hwframe+0x84/0x8e

Uninit was created at:

slab_post_alloc_hook mm/slub.c:4167 [inline]

slab_alloc_node mm/slub.c:4210 [inline]

__kmalloc_cache_noprof+0x8fa/0xe00 mm/slub.c:4367

kmalloc_noprof include/linux/slab.h:905 [inline]

ip_vs_dest_dst_alloc net/netfilter/ipvs/ip_vs_xmit.c:61 [inline]

__ip_vs_get_out_rt+0x35d/0x21d0 net/netfilter/ipvs/ip_vs_xmit.c:323

ip_vs_tunnel_xmit+0x205/0x2380 net/netfilter/ipvs/ip_vs_xmit.c:1136

ip_vs_in_hook+0x1aa5/0x35b0 net/netfilter/ipvs/ip_vs_core.c:2063

nf_hook_entry_hookfn include/linux/netfilter.h:154 [inline]

nf_hook_slow+0xf7/0x400 net/netfilter/core.c:626

nf_hook include/linux/netfilter.h:269 [inline]

__ip_local_out+0x758/0x7e0 net/ipv4/ip_output.c:118

ip_local_out net/ipv4/ip_output.c:127 [inline]

ip_send_skb+0x6a/0x3c0 net/ipv4/ip_output.c:1501

udp_send_skb+0xfda/0x1b70 net/ipv4/udp.c:1195

udp_sendmsg+0x2fe3/0x33c0 net/ipv4/udp.c:1483

inet_sendmsg+0x1fc/0x280 net/ipv4/af_inet.c:851

sock_sendmsg_nosec net/socket.c:712 [inline]

__sock_sendmsg+0x267/0x380 net/socket.c:727

____sys_sendmsg+0x91b/0xda0 net/socket.c:2566

___sys_sendmsg+0x28d/0x3c0 net/socket.c:2620

__sys_sendmmsg+0x41d/0x880 net/socket.c:2702

__compat_sys_sendmmsg net/compat.c:360 [inline]

__do_compat_sys_sendmmsg net/compat.c:367 [inline]

__se_compat_sys_sendmmsg net/compat.c:364 [inline]

__ia32_compat_sys_sendmmsg+0xc8/0x140 net/compat.c:364

ia32_sys_call+0x3ffa/0x41f0 arch/x86/include/generated/asm/syscalls_32.h:346

do_syscall_32_irqs_on arch/x86/entry/syscall_32.c:83 [inline]

__do_fast_syscall_32+0xb0/0x110 arch/x86/entry/syscall_32.c:306

do_fast_syscall_32+0x38/0x80 arch/x86/entry/syscall_32.c:331

do_SYSENTER_32+0x1f/0x30 arch/x86/entry/syscall_32.c:369

entry_SYSENTER_compat_after_hwframe+0x84/0x8e

CPU: 0 UID: 0 PID: 22408 Comm: syz.4.5165 Not tainted 6.15.0-rc3-syzkaller-00019-gbc3372351d0c #0 PREEMPT(undef)

Hardware name: Google Google Compute Engi

---truncated---

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.00190 · 8.2th percentile
Published
2025-05-20T16:01Z
EPSS history
Timeline
  • 20 MAY 16:01Z
    ipvs: fix uninit-value for saddr in do_output_route4
    cvelistv5