Eric Dumazet
c39fa0398a
udp6: fix potential access to stale information
...
[ Upstream commit 1c5950fc6fe996235f1d18539b9c6b64b597f50f ]
lena wang reported an issue caused by udpv6_sendmsg()
mangling msg->msg_name and msg->msg_namelen, which
are later read from ____sys_sendmsg() :
/*
* If this is sendmmsg() and sending to current destination address was
* successful, remember it.
*/
if (used_address && err >= 0) {
used_address->name_len = msg_sys->msg_namelen;
if (msg_sys->msg_name)
memcpy(&used_address->name, msg_sys->msg_name,
used_address->name_len);
}
udpv6_sendmsg() wants to pretend the remote address family
is AF_INET in order to call udp_sendmsg().
A fix would be to modify the address in-place, instead
of using a local variable, but this could have other side effects.
Instead, restore initial values before we return from udpv6_sendmsg().
Fixes: c71d8ebe7a ("net: Fix security_socket_sendmsg() bypass problem.")
Reported-by: lena wang <lena.wang@mediatek.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Maciej Żenczykowski <maze@google.com>
Link: https://lore.kernel.org/r/20230412130308.1202254-1-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-04-20 12:07:36 +02:00
..
6lowpan
9p
9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition
2023-04-20 12:07:36 +02:00
802
mrp: introduce active flags to prevent UAF when applicant uninit
2023-01-18 11:41:37 +01:00
8021q
appletalk
atm
treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()
2023-04-20 12:07:32 +02:00
ax25
batman-adv
bluetooth
Bluetooth: Fix race condition in hidp_session_thread
2023-04-20 12:07:35 +02:00
bpf
bpf: Move skb->len == 0 checks into __bpf_redirect
2023-01-18 11:41:04 +01:00
bpfilter
bridge
netfilter: br_netfilter: disable sabotage_in hook after first suppression
2023-02-22 12:50:24 +01:00
caif
net: caif: Fix use-after-free in cfusbl_device_notify()
2023-03-17 08:32:51 +01:00
can
can: j1939: j1939_tp_tx_dat_new(): fix out-of-bounds memory access
2023-04-20 12:07:34 +02:00
ceph
core
net: don't let netpoll invoke NAPI if in xmit context
2023-04-20 12:07:33 +02:00
dcb
dccp
dccp/tcp: Avoid negative sk_forward_alloc by ipv6_pinfo.pktoptions.
2023-02-22 12:50:40 +01:00
decnet
dns_resolver
dsa
net: dsa: ksz: Check return value
2022-12-14 11:30:45 +01:00
ethernet
hsr
hsr: Avoid double remove of a node.
2023-01-18 11:41:09 +01:00
ieee802154
net: ieee802154: fix error return code in dgram_bind()
2022-11-03 23:56:54 +09:00
ife
ipv4
icmp: guard against too small mtu
2023-04-20 12:07:33 +02:00
ipv6
udp6: fix potential access to stale information
2023-04-20 12:07:36 +02:00
iucv
treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD()
2023-04-20 12:07:32 +02:00
kcm
kcm: close race conditions on sk_receive_queue
2022-11-25 17:42:21 +01:00
key
af_key: Fix send_acquire race with pfkey_register
2022-12-08 11:22:57 +01:00
l2tp
l2tp: Don't sleep and disable BH under writer-side sk_callback_lock
2023-02-06 07:52:38 +01:00
l3mdev
lapb
llc
mac80211
wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta
2023-04-20 12:07:33 +02:00
mac802154
mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add()
2022-12-14 11:30:45 +01:00
mpls
net: mpls: fix stale pointer if allocation fails during device rename
2023-02-22 12:50:41 +01:00
ncsi
netfilter
netfilter: nft_redir: correct value of inet type .maxattrs
2023-03-22 13:28:04 +01:00
netlabel
netlink
netlink: annotate data races around sk_state
2023-02-06 07:52:45 +01:00
netrom
netrom: Fix use-after-free caused by accept on already connected socket
2023-02-22 12:50:24 +01:00
nfc
nfc: change order inside nfc_se_io error path
2023-03-17 08:32:48 +01:00
nsh
openvswitch
net: openvswitch: fix flow memory leak in ovs_flow_cmd_new
2023-02-22 12:50:25 +01:00
packet
net/af_packet: make sure to pull mac header
2023-01-18 11:41:45 +01:00
phonet
psample
qrtr
rds
rds: rds_rm_zerocopy_callback() correct order for list_add_tail()
2023-03-11 16:43:41 +01:00
rfkill
rose
net/rose: Fix to not accept on connected socket
2023-02-22 12:50:34 +01:00
rxrpc
rxrpc: Fix missing unlock in rxrpc_do_sendmsg()
2023-01-18 11:41:33 +01:00
sched
net_sched: prevent NULL dereference if default qdisc setup failed
2023-04-20 12:07:34 +02:00
sctp
sctp: fix a potential overflow in sctp_ifwdtsn_skip
2023-04-20 12:07:36 +02:00
smc
net/smc: fix fallback failed while sendmsg with fastopen
2023-03-17 08:32:51 +01:00
strparser
sunrpc
sunrpc: only free unix grouplist after RCU settles
2023-04-20 12:07:33 +02:00
switchdev
tipc
tipc: call tipc_lxc_xmit without holding node_read_lock
2023-01-18 11:42:06 +01:00
tls
net: tls: fix possible race condition between do_tls_getsockopt_conf() and do_tls_setsockopt_conf()
2023-04-05 11:16:36 +02:00
unix
af_unix: Get user_ns from in_skb in unix_diag_get_exact().
2022-12-14 11:30:44 +01:00
vmw_vsock
net: vmw_vsock: vmci: Check memcpy_from_msg()
2023-01-18 11:41:13 +01:00
wimax
wireless
wifi: cfg80211: Partial revert "wifi: cfg80211: Fix use after free for wext"
2023-03-13 10:18:25 +01:00
x25
net/x25: Fix to not accept on connected socket
2023-02-22 12:50:26 +01:00
xdp
xfrm
xfrm: Allow transport-mode states with AF_UNSPEC selector
2023-03-22 13:28:03 +01:00
compat.c
Kconfig
Makefile
socket.c
net: Fix a data-race around sysctl_somaxconn.
2022-09-05 10:27:42 +02:00
sysctl_net.c