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.
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A null pointer dereference occurs in the Linux kernel RDS implementation when IPv6 is disabled via the boot parameter ipv6.disable=1. The inet6_addr_lst data structure is never initialized, causing a crash during an attempt to bind an RDS socket to an IPv6 address. The resulting kernel panic leads to a system reboot or halt, preventing legitimate services from operating and allowing an attacker to cause a denial of service by inducing the crash. This weakness is a classic null pointer dereference identified by CWE-476, affecting the confidentiality, integrity, and availability of the host. The vulnerability is limited to systems that enable IPv6 disabling and use the RDS protocol, so the scope is a single host but can be triggered by any process attempting to bind to IPv6 addresses with RDS sockets. The crash is deterministic and occurs without requiring elevated privileges, meaning any local user can exploit it. Based on the official kernel patches, the vulnerability is fully mitigated by the provided fix.

Affected Systems

The affected systems are all Linux kernel implementations where IPv6 can be disabled at boot via the ipv6.disable=1 parameter and where the RDS protocol is enabled. The fix applies to all kernel releases after the patch commit referenced in the advisory, and it addresses the issue in the kernel's ipv6_init and inet6_addr_lst initialization logic. Specific affected kernel versions are not enumerated in the advisory, so any kernel prior to the patch that allows disabling IPv6 remains vulnerable.

Risk and Exploitability

The CVSS score is not disclosed in the advisory, and the EPSS is not available, so the precise exploitation probability cannot be quantified. However, the vulnerability can be trivially triggered by any local user on a system that has disabled IPv6 and uses RDS sockets, meaning the likelihood of exploitation is high in environments that meet those conditions. The advisory does not list the vulnerability in the CISA KEV catalog, suggesting that known, publicly released exploits are not yet documented. Therefore, the risk is primarily a DoS potential that could impact service availability on vulnerable hosts. The likely attack vector is local, via an unprivileged or privileged process that can bind to an RDS socket, and the impact is complete loss of service on the affected machine.

Generated by OpenCVE AI on August 10, 2026 at 15:57 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the fix for the RDS IPv6 null dereference. Ensure that the kernel boot parameter ipv6.disable is not set to 1 when the RDS protocol is in use, or reconfigure services to avoid using RDS when IPv6 is disabled.
  • If an immediate kernel upgrade is not possible, disable the RDS subsystem altogether on the affected hosts to prevent the vulnerable code path from executing. This can be achieved by removing the rds.ko module or disabling RDS socket creation via firewall or system configuration.
  • Restart the system after applying the kernel upgrade or RDS disablement to ensure that all services are reloaded with the corrected configuration.

Generated by OpenCVE AI on August 10, 2026 at 15:57 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 16:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
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.
Title rds: Fix inet6_addr_lst NULL dereference when IPv6 is disabled
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-10T12:02:57.499Z

Reserved: 2026-07-30T09:28:09.382Z

Link: CVE-2026-68322

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T16:00:04Z

Weaknesses