---
id: CVE-2026-53922
title: 'odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt'
summary: >-
  odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt.
  In commit cfddd56 and earlier, an unauthenticated host on the same link can
  first obtain two bindings through normal DHCPv6 SOLICIT and REQUEST exchanges
  and …
severity: medium
cvss: 6.5
cvssVector: 'CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-121
  - CWE-191
published: '2026-10-12'
updated: '2026-10-12'
sourceUpdated: '2026-10-12T22:17:04.623'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-53922'
references:
  - url: >-
      https://github.com/openwrt/odhcpd/commit/c6792bac3905d4bf726d914e9994f6d4b98c5b57
    label: security-advisories@github.com
  - url: >-
      https://github.com/openwrt/odhcpd/commit/d08dbcc527cb8f296cd132c1e5bca696e77095b8
    label: security-advisories@github.com
  - url: >-
      https://github.com/openwrt/odhcpd/commit/d168c27fb6a55a07ac4c888e09ff2f41e263d7b7
    label: security-advisories@github.com
  - url: >-
      https://github.com/openwrt/odhcpd/commit/d329a15413387027453644cd363dca06ade28328
    label: security-advisories@github.com
  - url: 'https://github.com/openwrt/odhcpd/security/advisories/GHSA-7hcw-g2jh-pqv5'
    label: security-advisories@github.com
  - url: 'https://github.com/openwrt/openwrt/releases/tag/v25.12.5'
    label: security-advisories@github.com
tags:
  - nvd
ingestedAt: '2026-10-12T23:07:25.637Z'
---

## Overview

odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. In commit cfddd56 and earlier, an unauthenticated host on the same link can first obtain two bindings through normal DHCPv6 SOLICIT and REQUEST exchanges and then send a crafted RENEW containing multiple IA_NA options. An earlier matched IA consumes most of the response buffer, an unmatched IA causes the build_ia() status branch to write and return a NOBINDING response larger than the remaining space, and a subsequent matched IA is processed after dhcpv6_ia_handle_IAs() subtracts that over-return from an unsigned size_t. The resulting underflow disables subsequent length checks and permits attacker-controlled IA_ADDR serialization beyond the 512-byte stack buffer pdbuf in handle_client_request(). The stack canary terminates odhcpd, and sustained packets can repeatedly disrupt DHCPv6 service while procd respawns the process. The observed configuration does not establish code execution.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
