{"id":"CVE-2026-49868","kind":"vulnerability","aliases":["CVE-2026-49868"],"related":[],"title":"RIOT is an open-source microcontroller operating system designed for Internet of Things devices and other embedded…","description":"RIOT is an open-source microcontroller operating system designed for Internet of Things devices and other embedded systems. Prior to 2026.07, _parse_reply() in sys/net/application_layer/dhcpv6/client.c omits minimum-length validation before passing IA_PD and IA_NA option bodies to sub-option parsers. A malicious or compromised DHCPv6 server can send a REPLY with an option length smaller than the required structure while MODULE_DHCPV6_CLIENT_IA_PD is enabled, causing _parse_ia_pd_option to read past the option body, size_t underflow, and unbounded out-of-bounds heap reads that can crash the device and may expose or corrupt memory. This issue is fixed in version 2026.07.","summary":"RIOT, an open-source operating system for embedded IoT devices, has a DHCPv6 client that does not check option lengths in REPLY messages before parsing them. A malicious or compromised DHCPv6 server can send a crafted reply that causes out-of-bounds heap reads, crashing the device and possibly exposing or corrupting memory.","severity":"critical","cvss":9.8,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["dhcpv6","embedded","iot","riot","runtime"],"not_affected_if":["dhcpv6-client-disabled","ia-pd-disabled","version-2026.07-or-later"],"how_to_check":"Check whether the device is built with MODULE_DHCPV6_CLIENT_IA_PD enabled and which RIOT version it runs (unknown if the sources give a command).","fix":"Upgrade RIOT to version 2026.07 or later.","status":"open","published_at":"2026-10-16T17:17:34+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","triaged_at":"2026-10-23T22:05:06+00:00","updated_at":"2026-10-23T22:28:55+00:00","category":"runtime","confidence":0.8,"triage":{"at":"2026-10-23T22:05:06Z","model":"claude-haiku-5-5","output":{"fix":"Upgrade RIOT to version 2026.07 or later.\nunknown","reach":"network","impact":"high","summary":"RIOT, an open-source operating system for embedded IoT devices, has a DHCPv6 client that does not check option lengths in REPLY messages before parsing them. A malicious or compromised DHCPv6 server can send a crafted reply that causes out-of-bounds heap reads, crashing the device and possibly exposing or corrupting memory.","category":"runtime","who_cares":["riot","embedded","iot","dhcpv6"],"confidence":0.8,"needs_auth":"no","worst_case":"Device crashes, and attacker may read or corrupt heap memory","analyst_note":"Confirm from the RIOT 2026.07 release notes or the fixing commit whether memory disclosure or code execution is possible beyond the crash, and whether IA_NA alone is affected without IA_PD.","how_to_check":"Check whether the device is built with MODULE_DHCPV6_CLIENT_IA_PD enabled and which RIOT version it runs (unknown if the sources give a command).\nunknown\nunknown","needs_analyst":true,"not_affected_if":["dhcpv6-client-disabled","ia-pd-disabled","version-2026.07-or-later"],"user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"critical"},"cost_usd":0.000531,"input_tokens":2913,"output_tokens":480,"severity_before":"critical"},"analyst_status":null,"analyst_note":null,"search":"'-2026':20A,23A '-49868':21A,24A '2026.07':106C,196C 'bodi':124C,167C 'bound':73B,176C 'caus':69B,157C 'check':48B 'client':44B,152C 'compromis':60B,133C 'corrupt':83B,188C 'craft':66B 'crash':76B,181C 'cve':19A,22A 'design':10A,94C 'devic':15A,40B,78B,99C,183C 'dhcpv6':25B,43B,61B,134C,151C 'embed':18A,26B,38B,102C 'enabl':156C 'expos':81B,186C 'fix':193C 'heap':74B,177C 'ia':118C,121C,153C,159C 'internet':12A,96C 'iot':27B,39B 'issu':191C 'length':50B,114C,143C 'malici':58B,131C 'may':185C 'memori':84B,189C 'messag':53B 'microcontrol':7A,91C 'minimum':113C 'minimum-length':112C 'modul':150C 'na':122C 'omit':111C 'open':5A,33B,89C 'open-sourc':4A,32B,88C 'oper':8A,35B,92C 'option':49B,123C,128C,142C,161C,166C 'out-of-bound':70B,173C 'pars':55B,107C,158C 'parser':129C 'pass':117C 'past':164C 'pd':119C,154C,160C 'possibl':80B 'prior':104C 'read':75B,163C,178C 'repli':52B,67B,108C,139C 'requir':147C 'riot':1A,28B,30B,85C 'runtim':29B 'send':64B,137C 'server':62B,135C 'size':168C 'smaller':144C 'sourc':6A,34B,90C 'structur':148C 'sub':127C 'sub-opt':126C 'sys/net/application_layer/dhcpv6/client.c':110C 'system':9A,36B,93C,103C 'thing':14A,98C 'unbound':172C 'underflow':170C 'valid':115C 'version':195C","nicknames":[],"mitigations":[],"who_affected":null,"tier":null,"verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-16T17:17:34+00:00","kev":null,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","cvss_by":"security-advisories@github.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-49868","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-49868","severity":null,"published_at":"2026-10-16T17:17:34+00:00","modified_at":"2026-10-21T03:17:19+00:00","first_seen_at":"2026-10-23T21:57:13+00:00","fetched_at":"2026-10-23T22:28:55+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}