Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2026-68322

rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < 7809344be3f0c1bbfdfdde1cefafeec14bf52d51affected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < 438dec9b0a06bd1f8db8c58539c655e735e17367affected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < b61c9eb5931bb7389bc104faacd8c17d910da65daffected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < 8e48d7ab1e01936a172ff31531904b003895fd8caffected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < a8302e758050e6a922765aee8d220a4fd350f52daffected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < f6787fdffcae5490c779f0f3f33b11597525d1aeaffected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < 00d5707217b5972554898ff734ae7b71bce704e6affected
  • eee2fa6ab3225192d6d894c54a6fb02ac9efdff6 to < 9c805e592a29be9e4e61ff1bd567da04aa8fd6f9affected

Linux Linux

Default version status: affected

  • 4.19affected
  • 0 to < 4.19unaffected
  • 5.10.265 to ≤ 5.10.*unaffected
  • 5.15.216 to ≤ 5.15.*unaffected
  • 6.1.183 to ≤ 6.1.*unaffected
  • 6.6.151 to ≤ 6.6.*unaffected
  • 6.12.103 to ≤ 6.12.*unaffected
  • 6.18.44 to ≤ 6.18.*unaffected
  • 7.1.6 to ≤ 7.1.*unaffected
  • 7.2 to ≤ *unaffected

References