CVE-2023-31129: Contiki-NG missing NULL pointer check in IPv6 neighbor discovery
The Contiki-NG operating system versions 4.8 and prior can be triggered to dereference a NULL pointer in the message handling code for IPv6 router solicitiations. Contiki-NG contains an implementation of IPv6 Neighbor Discovery (ND) in the module os/net/ipv6/uip-nd6.c. The ND protocol includes a message type called Router Solicitation (RS), which is used to locate routers and update their address information via the SLLAO (Source Link-Layer Address Option). If the indicated source address changes, a given neighbor entry is set to the STALE state.
The message handler does not check for RS messages with an SLLAO that indicates a link-layer address change that a neighbor entry can actually be created for the indicated address. The resulting pointer is used without a check, leading to the dereference of a NULL pointer of type uipds6nbrt.
The problem has been patched in the develop branch of Contiki-NG, and will be included in the upcoming 4.9 release. As a workaround, users can apply Contiki-NG pull request #2271 to patch the problem directly.
Affected Software
Remediation
Event History
Frequently Asked Questions
What is CVE-2023-31129?
CVE-2023-31129 is a vulnerability in the Contiki-NG operating system versions 4.8 and prior that allows the dereferencing of a NULL pointer in the message handling code for IPv6 router solicitations.
How severe is CVE-2023-31129?
CVE-2023-31129 has a severity rating of 9.8, which is considered critical.
What is the affected software for CVE-2023-31129?
The affected software for CVE-2023-31129 is Contiki-NG version 4.8 and prior.
How can I fix CVE-2023-31129?
To fix CVE-2023-31129, upgrade to a version of Contiki-NG that is newer than 4.8.
What is the Common Weakness Enumeration (CWE) for CVE-2023-31129?
The Common Weakness Enumeration (CWE) for CVE-2023-31129 is CWE-476, which refers to NULL Pointer Dereference.