Out-of-bounds read during IPHC address decompression
CVE-2023-37281
What is CVE-2023-37281?
Contiki-NG is an operating system for internet-of-things devices. In versions 4.9 and prior, when processing the various IPv6 header fields during IPHC header decompression, Contiki-NG confirms the received packet buffer contains enough data as needed for that field. But no similar check is done before decompressing the IPv6 address. Therefore, up to 16 bytes can be read out of bounds on the line with the statement memcpy(&ipaddr->u8[16 - postcount], iphc_ptr, postcount);
. The value of postcount
depends on the address compression used in the received packet and can be controlled by the attacker. As a result, an attacker can inject a packet that causes an out-of-bound read. As of time of publication, a patched version is not available. As a workaround, one can apply the changes in Contiki-NG pull request #2509 to patch the system.
Affected Version(s)
contiki-ng <= 4.9