CVE-2026-68322: rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled
Greg Kroah-Hartman <[email protected]>
| Newsgroups | org.kernel.vger.linux-cve-announce |
|---|---|
| Message-ID | <2026081033-CVE-2026-68322-fd29@gregkh> |
From: Greg Kroah-Hartman <[email protected]> Description =========== In the Linux kernel, the following vulnerability has been resolved: rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled When booting with the 'ipv6.disable=1' parameter, inet6_addr_lst is never initialized because inet6_init() exits before addrconf_init() is called to initialize it. An attempt to bind an RDS socket to an ipv6 address results in a crash in __ipv6_chk_addr_and_flags() KASAN: null-ptr-deref in range [0x0000000000000008-0x000000000000000f] RIP: 0010:__ipv6_chk_addr_and_flags+0x1df/0x7e0 Call Trace: <TASK> ipv6_chk_addr+0x3b/0x50 rds_tcp_laddr_check+0x155/0x3b0 [rds_tcp] rds_trans_get_preferred+0x15d/0x2d0 [rds] ? trace_hardirqs_on+0x2d/0x110 rds_bind+0x1433/0x1d60 [rds] ? rds_remove_bound+0xd50/0xd50 [rds] ? aa_af_perm+0x250/0x250 ? __might_fault+0xde/0x190 ? __sys_bind+0x1dc/0x210 __sys_bind+0x1dc/0x210 ? __ia32_sys_socketpair+0x100/0x100 ? restore_fpregs_from_fpstate+0x53/0x100 __x64_sys_bind+0x73/0xb0 ? syscall_enter_from_user_mode+0x1c/0x50 do_syscall_64+0x34/0x80 entry_SYSCALL_64_after_hwframe+0x6e/0xd8 RIP: 0033:0x7f47f8269ea9 </TASK> The following code reproduces the issue: struct sockaddr_in6 addr; s = socket(PF_RDS, SOCK_SEQPACKET, 0); memset(&addr, 0, sizeof(addr)); inet_pton(AF_INET6, ADDRESS, &addr.sin6_addr); addr.sin6_family = AF_INET6; addr.sin6_port = htons(PORT); bind(s, &addr, sizeof(addr)); Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org) with Syzkaller. The Linux kernel CVE team has assigned CVE-2026-68322 to this issue. Affected and fixed versions =========================== Issue introduced in 4.19 with commit eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 and fixed in 6.6.151 with commit 8e48d7ab1e01936a172ff31531904b003895fd8c Issue introduced in 4.19 with commit eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 and fixed in 6.12.103 with commit a8302e758050e6a922765aee8d220a4fd350f52d Issue introduced in 4.19 with commit eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 and fixed in 6.18.44 with commit f6787fdffcae5490c779f0f3f33b11597525d1ae Issue introduced in 4.19 with commit eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 and fixed in 7.1.6 with commit 00d5707217b5972554898ff734ae7b71bce704e6 Issue introduced in 4.19 with commit eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 and fixed in 7.2-rc5 with commit 9c805e592a29be9e4e61ff1bd567da04aa8fd6f9 Please see https://www.kernel.org for a full list of currently supported kernel versions by the kernel community. Unaffected versions might change over time as fixes are backported to older supported kernel versions. The official CVE entry at https://cve.org/CVERecord/?id=CVE-2026-68322 will be updated if fixes are backported, please check that for the most up to date information about this issue. Affected files ============== The file(s) affected by this issue are: net/rds/ib.c net/rds/ib_cm.c net/rds/tcp.c Mitigation ========== The Linux kernel CVE team recommends that you update to the latest stable kernel version for this, and many other bugfixes. Individual changes are never tested alone, but rather are part of a larger kernel release. Cherry-picking individual commits is not recommended or supported by the Linux kernel community at all. If however, updating to the latest release is impossible, the individual changes to resolve this issue can be found at these commits: https://git.kernel.org/stable/c/8e48d7ab1e01936a172ff31531904b003895fd8c https://git.kernel.org/stable/c/a8302e758050e6a922765aee8d220a4fd350f52d https://git.kernel.org/stable/c/f6787fdffcae5490c779f0f3f33b11597525d1ae https://git.kernel.org/stable/c/00d5707217b5972554898ff734ae7b71bce704e6 https://git.kernel.org/stable/c/9c805e592a29be9e4e61ff1bd567da04aa8fd6f9