CVE intelligence and bounded remediation
CVE-2021-21257 — Contiki-NG is an open-source, cross-platform operating system for internet of things devices
Contiki-NG is an open-source, cross-platform operating system for internet of things devices. The RPL-Classic and RPL-Lite implementations in the Contiki-NG operating system versions prior to 4.6 do not validate the address pointer in the RPL source routing header This makes it possible for an attacker to cause out-of-bounds writes with packets injected into the network stack. Specifically, the problem lies in the rpl_ext_header_srh_update function in the two rpl-ext-header.c modules for RPL-Classic and RPL-Lite respectively. The addr_ptr variable is calculated using an unvalidated CMPR field value from the source routing header. An out-of-bounds write can be triggered on line 151 in os/net/routing/rpl-lite/rpl-ext-header.c and line 261 in os/net/routing/rpl-classic/rpl-ext-header.c, which contain the following memcpy call with addr_ptr as destination. The problem has been patched in Contiki-NG 4.6. Users can apply a patch out-of-band as a workaround.
- Severity
- High
- CVSS
- 8.2 (3.1)
- Published
- 2021-06-18
- CISA KEV
- Not currently listed
- Ecosystem
- operating-system
- Weaknesses
- CWE-787
Affected products
- contiki-ng / contiki-ng
Matched remediation archetype
Buffer bounds, memory safety, and memory corruption
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Identify affected native-code versions, build flags, architectures, parsers, codecs, drivers, and input paths in all shipped artifacts.
- Determine whether untrusted data reaches the affected routine and the process privilege, sandbox, and network exposure.
- Confirm statically linked, vendored, firmware, and platform-provided copies, not only package-manager records.
Remediate safely
- Apply the maintained upstream correction or replace the affected component, then rebuild every dependent artifact from clean inputs.
- Adopt bounds-checked interfaces, validated sizes and integer conversions, clear ownership, and memory-safe components where practical.
- Enable supported compiler and runtime hardening and add sanitized tests and fuzz regression seeds derived from non-weaponized fixtures.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.