CVE-2026-74563 in Linux
Сводка
по VulDB • 15.08.2026
В ядре Linux устранена следующая уязвимость:
rds: tcp: сохранение блокировки RCU в течение вызова ipv6_chk_addr() внутри rds_tcp_laddr_check()
Функция rds_tcp_laddr_check() выполняет поиск интерфейса IPv6 с заданной областью видимости (scoped) через dev_get_by_index_rcu(), снимает блокировку чтения RCU и только затем передает необработанный указатель struct net_device * в ipv6_chk_addr().
Функция dev_get_by_index_rcu() обеспечивает сохранение устройства активным только в пределах текущего раздела чтения RCU. После вызова rcu_read_unlock() параллельная операция RTM_DELLINK может освободить структуру net_device; после этого ipv6_chk_addr() обращается к устаревшему указателю внутри __ipv6_chk_addr_and_flags() (например, через l3mdev_master_dev_rcu(dev)), осуществляя чтение из уже освобожденной памяти.
Необходимо сохранять блокировку чтения RCU активной в течение вызова ipv6_chk_addr(), вместо того чтобы снимать ее сразу после поиска, что предотвратит возможность освобождения устройства во время его использования.
BUG: KASAN: slab-use-after-free in __ipv6_chk_addr_and_flags (... net/ipv6/addrconf.c:1998) Read of size 8 at addr ffff8880106ec000 by task exploit/153 Call Trace: ... kasan_report (mm/kasan/report.c:595) __ipv6_chk_addr_and_flags (... net/ipv6/addrconf.c:1998) ipv6_chk_addr (net/ipv6/addrconf.c:2031 net/ipv6/addrconf.c:1972) rds_tcp_laddr_check (net/rds/tcp.c:370) rds_bind (net/rds/bind.c:248) __sys_bind (net/socket.c:1920) __x64_sys_bind (net/socket.c:1956) do_syscall_64 (arch/x86/entry/syscall_64.c:63) entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:121)
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.