CVE-2022-49456

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
26/02/2025
Last modified:
22/10/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> bonding: fix missed rcu protection<br /> <br /> When removing the rcu_read_lock in bond_ethtool_get_ts_info() as<br /> discussed [1], I didn&amp;#39;t notice it could be called via setsockopt,<br /> which doesn&amp;#39;t hold rcu lock, as syzbot pointed:<br /> <br /> stack backtrace:<br /> CPU: 0 PID: 3599 Comm: syz-executor317 Not tainted 5.18.0-rc5-syzkaller-01392-g01f4685797a5 #0<br /> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011<br /> Call Trace:<br /> <br /> __dump_stack lib/dump_stack.c:88 [inline]<br /> dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106<br /> bond_option_active_slave_get_rcu include/net/bonding.h:353 [inline]<br /> bond_ethtool_get_ts_info+0x32c/0x3a0 drivers/net/bonding/bond_main.c:5595<br /> __ethtool_get_ts_info+0x173/0x240 net/ethtool/common.c:554<br /> ethtool_get_phc_vclocks+0x99/0x110 net/ethtool/common.c:568<br /> sock_timestamping_bind_phc net/core/sock.c:869 [inline]<br /> sock_set_timestamping+0x3a3/0x7e0 net/core/sock.c:916<br /> sock_setsockopt+0x543/0x2ec0 net/core/sock.c:1221<br /> __sys_setsockopt+0x55e/0x6a0 net/socket.c:2223<br /> __do_sys_setsockopt net/socket.c:2238 [inline]<br /> __se_sys_setsockopt net/socket.c:2235 [inline]<br /> __x64_sys_setsockopt+0xba/0x150 net/socket.c:2235<br /> do_syscall_x64 arch/x86/entry/common.c:50 [inline]<br /> do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80<br /> entry_SYSCALL_64_after_hwframe+0x44/0xae<br /> RIP: 0033:0x7f8902c8eb39<br /> <br /> Fix it by adding rcu_read_lock and take a ref on the real_dev.<br /> Since dev_hold() and dev_put() can take NULL these days, we can<br /> skip checking if real_dev exist.<br /> <br /> [1] https://lore.kernel.org/netdev/27565.1642742439@famine/

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.17.1 (including) 5.17.14 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.18 (including) 5.18.3 (excluding)
cpe:2.3:o:linux:linux_kernel:5.17:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc5:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc7:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:5.17:rc8:*:*:*:*:*:*