Skip to main content

OpenWrt odhcpd CVE-2026-53918

| EUVDEUVD-2026-108969 HIGH
Use After Free (CWE-416)
2026-10-23 GitHub_M
8.8
CVSS 4.0 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain adjacent IPv6 link access
  2. Delivery
    Seed DHCPv6 IA_NA lease for own DUID
  3. Exploit
    Send REQUEST with RECONF_ACCEPT and multiple IA_NA options
  4. Execution
    Off-link same-IAID IA frees lease still held by 'first'
  5. Persist
    New-IAID IA copies dangling first->key (16-byte UAF read)
  6. Impact
    Crash odhcpd or induce Reconfigure/ForceRenew key confusion

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Memory lifecycle management
MITRE ATT&CK

2 techniques across 2 tactics: Execution, Privilege Escalation

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires that odhcpd is actively serving DHCPv6 on the target interface with dynamic IA_NA allocation enabled and a usable IPv6 address configuration; no helper script or plugin is needed, but the attacker's client packet must include DHCPv6 RECONF_ACCEPT and the attacker must first seed/bind an IA_NA lease. The decisive limiting factor is network position: per the advisory the attacker must be able to send DHCPv6 client messages from the same local link or adjacent IPv6 network, so this is not an internet-wide unauthenticated attack despite the AV:N label - exposure is confined to on-link/adjacent attackers. No authentication or local account is required (unauthenticated DHCPv6 REQUEST), and no user interaction is needed. Devices where DHCPv6 server mode or dynamic leasing is disabled are not exploitable via this path.

Impact

This is a genuine but bounded priority. The supplied CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H) and 8.8 score indicate unauthenticated, low-complexity access with high availability impact and low integrity impact and no confidentiality impact - consistent with the validated outcome of an unauthenticated denial of service plus Reconfigure/ForceRenew key confusion. One conflict must be flagged: the CVSS vector encodes AV:N (network), but the description and GHSA advisory repeatedly scope the attacker to an 'adjacent-network'/'same local link' DHCPv6 client, which is AV:A in practice; this materially narrows real exposure to on-link/adjacent attackers rather than the public internet - verify reachability assumptions before treating it as internet-facing. No EPSS score and no KEV listing were provided, so there is no evidence of active exploitation; exploitation status is best described as a public PoC reference existing (the advisory documents a maintainer reproduction bundle with ASan/native-trace verification) rather than confirmed in-the-wild use. SSVC-style signals are partial: technical impact is a reliable crash (ASan-confirmed UAF, deterministic reclaim shown with PDBUF_UAF_GROOM=7), but arbitrary code execution is explicitly NOT proven for this UAF, so technical impact is 'partial', not 'total'. The vuln.today decision label is 'this_week', which aligns with a real-but-not-emergency priority: patch within the normal cycle, prioritizing internet- or untrusted-LAN-exposed odhcpd instances.

Exploit ScenarioDerived

An attacker on the same IPv6 link or adjacent network sends a seed DHCPv6 REQUEST to bind an IA_NA lease, then a single crafted REQUEST carrying RECONF_ACCEPT and multiple IA_NA options so that one IA sets the per-message 'first' pointer, a later same-IAID IA fails the on-link check and frees that lease, and a final new-IAID IA copies from the now-dangling first->key - producing a 16-byte heap use-after-free. A public PoC reference exists (the odhcpd-uaf-first maintainer bundle with ASan and native-trace repro); it is not verified here as independently distributed working exploit code. The realistic result is a crash of the privileged odhcpd daemon (denial of service) and/or a zeroed/confused Reconfigure authentication key, consistent with the low attack complexity and no-authentication/no-user-interaction profile.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 23, 2026

A heap use-after-free in OpenWrt's odhcpd DHCPv6 IA handler allows an unauthenticated client on the same local link or an adjacent IPv6 network to crash or corrupt the router's DHCPv6/RA daemon. The flaw lives in the per-message first lease pointer used to reuse a Reconfigure authentication key across multiple IA options: a REQUEST that binds one IA, then fails the on-link check on a later IA with the same IAID, frees the lease that first still references, and a subsequent IA copies 16 bytes from that freed chunk into a new lease's key. The validated impact is adjacent-network denial of service plus Reconfigure/ForceRenew key confusion (deterministically an all-zero key under the traced reclaim pattern); arbitrary code execution is not proven for this UAF alone, and a public maintainer reproduction bundle demonstrates the crash under ASan. It is not confirmed actively exploited (no CISA KEV listing), but it carries a 'this_week' priority and affects essentially every OpenWrt release from 18.06 through the 25.12 package pin.

RemediationAI

Vendor-released patch: odhcpd 25.12 per the CVE description, delivered through upstream commits 26b122007030ebf192376aff8f98d428b25e2a93 and 5b283832c0a77aed20f1cc384ffc40bc768b06e9 (see https://github.com/openwrt/odhcpd/security/advisories/GHSA-44ff-jcwh-wgc2); because the advisory's package-pin audit still lists the OpenWrt 25.12 pin as containing the introducing commit and a package-tracker entry reports 'fixed in: not yet patched', confirm the odhcpd commit built into your image is at or past the fix rather than assuming the release number is sufficient, and rebuild/reflash rather than relying on a version string. Where patching must wait, the exploitable path requires odhcpd to be actively serving DHCPv6 on the target interface with dynamic IA_NA allocation enabled and a usable IPv6 configuration, so disabling DHCPv6 server mode or dynamic IA_NA leasing on untrusted or adjacent-network-facing interfaces removes the trigger - the trade-off is that clients on those segments lose stateful IPv6 address assignment and must fall back to SLAAC or static configuration. Because the attack is confined to on-link/adjacent senders, restricting DHCPv6 and RS/RA traffic at the Layer 2 boundary (client isolation, per-port filtering of DHCPv6 to only the intended server, or not bridging untrusted segments into the DHCPv6-served LAN) limits exposure, at the cost of added segmentation management and potential breakage of legitimate multi-segment DHCPv6 deployments. No authentication or local account is needed to exploit this, so credential-based controls do not apply.

Affected VersionsENISA

odhcpd < 25.12

Affected Packages

euvd odhcpd fix: 25.12

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

odhcpd is the DHCPv6, DHCPv4 and router-advertisement daemon shipped with OpenWrt, typically running as a privileged service on the router's LAN bridge. In dhcpv6_ia_handle_IAs() (src/dhcpv6-ia.c) the daemon iterates the IA_NA options of a single DHCPv6 REQUEST and keeps a raw intra-message pointer named first so that several IAs belonging to the same client reuse one Reconfigure authentication key rather than regenerating a random one. Commit a2ffc598 (June 2018) added dhcpv6_ia_on_link() and the REQUEST off-link branch that sets status NOTONLINK and assigned=false; the pre-existing failed-assignment cleanup then calls dhcpv6_free_lease(a) and nulls only the local variable a, leaving first dangling. The next IA in the same packet allocates a fresh lease and executes memcpy(a->key, first->key, 16), a 16-byte read of freed heap (CWE-416), with the adjacent weakness classes CWE-672 (operation on a resource after expiry) and CWE-825 (expired pointer dereference). ASan reports the READ of size 16 at dhcpv6-ia.c:1204 with the free site at line 1311 and the allocation site in dhcpv6_alloc_lease(). The upstream fix (commit 26b122007030ebf192376aff8f98d428b25e2a93) removes the pointer entirely, replacing it with a 16-byte first_key[16] buffer and a first_key_valid flag so the key is copied by value before any later IA can free the lease; a second commit, 5b283832c0a77aed20f1cc384ffc40bc768b06e9, accompanies it in the advisory. The stored key is later consumed by the DHCPv6 Reconfigure/ForceRenew authentication path, which is why the corruption manifests as key confusion as well as a crash.

Know when Odhcpd gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitHub_M) PRIMARY 8.8 HIGH
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
vuln.today AI 7.1 HIGH

Advisory scopes the attacker to the same link/adjacent IPv6 network (AV:A), with unauthenticated low-complexity deterministic triggering (PR:N/AC:L); impact is reliable crash (A:H) plus key confusion (I:L), no confidentiality loss (C:N).

3.1 AV:A/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:H
4.0 AV:A/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
Low
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Oct 23, 2026 - 14:02 EUVD
CVE Published
Oct 23, 2026 - 13:21 cve.org
HIGH 8.8

DescriptionCVE.org

odhcpd is the DHCPv6, DHCPv4, and router-advertisement server used by OpenWrt. Prior to version 25.12, odhcpd's DHCPv6 IA handler keeps a per-message first lease pointer so multiple IA options in one message reuse the same Reconfigure authentication key. A DHCPv6 REQUEST from an adjacent-network client can make the first IA set first, then make a later same-IAID IA fail the on-link check and free that same lease, leaving first dangling. A following IA in the same packet allocates a new lease and copies first->key, producing a 16-byte heap-use-after-free read. ASan confirms the UAF; native tracing shows the packet shape can deterministically reclaim the freed lease as the destination allocation, producing a zeroed Reconfigure key copy. The validated impact is unauthenticated adjacent-network denial of service and DHCPv6 Reconfigure/ForceRenew key confusion. Arbitrary PC control is not proven for this UAF alone. This issue has been patched in version 25.12.

Technical POC Analysis

CWE-416 (use-after-free; advisory also tags CWE-672 and CWE-825) in dhcpv6iahandleIAs() in src/dhcpv6-ia.c of odhcpd, OpenWrt's DHCPv6/DHCPv4/RA daemon.

Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.

Executive ViewAI

Why It Matters

CVE-2026-53918 is a high-severity heap use-after-free in OpenWrt's odhcpd DHCPv6/RA daemon. An unauthenticated attacker on the same local link or an adjacent IPv6 network can crash or corrupt the daemon, causing denial of service for IPv6 clients. This affects essentially every OpenWrt release, and while no public exploit has been identified at time of analysis, a maintainer reproduction bundle demonstrates the crash. Organizations relying on OpenWrt for network infrastructure should treat this as a priority availability risk.

Business Impact: High
Compensating Controls

No vendor-released patch identified at time of analysis. Interim mitigations include network segmentation to prevent untrusted clients from reaching the OpenWrt DHCPv6/RA daemon, disabling DHCPv6/RA services on exposed interfaces if operationally feasible, and monitoring for daemon crashes to detect exploitation attempts.

Threat Intelligence Overview

Prevalence
High
default DHCPv6/DHCPv4/RA daemon in widely-deployed OpenWrt router firmware
Data Quality
4 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS N/A
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
Yes
Human Impact
High

Priority Score

44
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +44
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Use-after-free vulnerabilities occur when a program continues to access memory through a pointer after that memory has been deallocated.

Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy