Skip to content

Missing NULL pointer check in IPv6 neighbor discovery

Moderate
nvt published GHSA-x29r-5qjg-75mq May 4, 2023

Package

uip-nd6

Affected versions

<= 4.8

Patched versions

None

Description

Impact

The Contiki-NG operating system 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 uip_ds6_nbr_t.

Patches

The problem has been patched in the "develop" branch of Contiki-NG, and will be included in the upcoming 4.9 release.

Workarounds

Users can apply Contiki-NG pull request #2271 to patch the problem directly.

For more information

If you have any questions or comments about this advisory:

Open an issue in https://github.com/contiki-ng/contiki-ng
Email us at security@contiki-ng.org

Severity

Moderate

CVE ID

CVE-2023-31129

Weaknesses

Credits