CVE-2026-5855: Contiki-NG LwM2M TLV Parser Out-of-Bounds Read via Unchecked Buffer Length in lwm2m_tlv_read
Contiki-NG's LwM2M TLV parser lwm2mtlvread() in os/services/lwm2m/lwm2m-tlv.c ignores its caller-supplied buffer length argument and reads up to six bytes from the input buffer with no bounds check. The caller in lwm2m-engine.c iterates while there is at least one byte remaining, so a crafted CoAP WRITE to any LwM2M endpoint whose final TLV supplies exactly one byte triggers up to five out-of-bounds reads of heap memory adjacent to the CoAP input buffer, disclosing memory contents (including key material and peer addresses) through the parsed tlv->id, tlv->length, and tlv->value fields. Corrupted tlvlen derived from the out-of-bounds memory further corrupts the caller's parse offset. In LwM2M NoSec mode, the default for constrained devices, no authentication is required.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-5855?
CVE-2026-5855 has a severity score of 7.5, indicating a high level of risk.
What type of vulnerability is CVE-2026-5855?
CVE-2026-5855 is an out-of-bounds read vulnerability in Contiki-NG's LwM2M TLV parser.
How do I fix CVE-2026-5855?
To fix CVE-2026-5855, ensure that the LwM2M TLV parser implements proper bounds checks on the input buffer length.
What software is affected by CVE-2026-5855?
CVE-2026-5855 affects the Contiki-NG LwM2M TLV parser, specifically the lwm2m_tlv_read function.
When was CVE-2026-5855 published?
CVE-2026-5855 was published on August 6, 2026.