Description
OpenWrt is a Linux operating system targeting embedded devices. Prior to 25.12.5, odhcpd writes a DHCPv6 client FQDN option 39 hostname into /tmp/odhcpd.leases through src/statefiles.c statefiles_write_state6() and statefiles_write_state4() without escaping, allowing newline injection of forged lease lines that LuCI rpcd-mod-luci getDHCPLeases displays through htdocs/luci-static/resources/view/status/include/40_dhcp.js and htdocs/luci-static/resources/luci.js dom.append as live HTML in the Active DHCPv6 Leases admin page. This vulnerability is fixed in 25.12.5.
Published: 2026-07-15
Score: 9.6 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

OpenWrt’s odhcpd daemon writes the DHCPv6 client FQDN option (option 39) into the lease file /tmp/odhcpd.leases without escaping. If the client supplies a hostname that contains a newline, the resulting lease file contains forged lease lines that are later rendered as raw HTML by the LuCI web interface. This allows an attacker that can send a crafted DHCPv6 request to inject arbitrary HTML into the Active DHCPv6 Leases page, resulting in a stored cross‑site scripting (XSS) vulnerability. The flaw is a classic input‑validation and output‑encoding weakness, reflected in the CWE‑117 and CWE‑79 identifiers.

Affected Systems

All OpenWrt installations running the default odhcpd package and LuCI web interface, including any version prior to 25.12.5, are affected. The problem originates in odhcpd’s state‑file generation code (statefiles_write_state6 and statefiles_write_state4) and the LuCI RPC module that displays the leases. The vulnerability was fixed in OpenWrt 25.12.5 and all subsequent releases.

Risk and Exploitability

The CVSS score of 9.6 signals a high‑severity flaw that allows arbitrary script execution in the browser of anyone who views the page. The EPSS score <1 % indicates that exploitation in the wild is currently rare. The vulnerability is not listed in CISA’s KEV catalog. Attackers need only transmit a specially crafted DHCPv6 request that contains a newline in the FQDN field; no additional authentication or higher‑level privileges are required. If the network allows DHCPv6 traffic from untrusted devices, the attacker can reach the router directly.

Generated by OpenCVE AI on July 31, 2026 at 03:07 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade OpenWrt to version 25.12.5 or later, which contains the patch.
  • Block or restrict DHCPv6 traffic from untrusted networks so only authorized clients can reach the router.
  • If immediate upgrade is not possible, disable odhcpd or remove the DHCPv6 lease page from LuCI to prevent rendering of malicious entries.

Generated by OpenCVE AI on July 31, 2026 at 03:07 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 15 Jul 2026 22:30:00 +0000

Type Values Removed Values Added
First Time appeared Openwrt
Openwrt openwrt
Vendors & Products Openwrt
Openwrt openwrt

Wed, 15 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Wed, 15 Jul 2026 18:00:00 +0000

Type Values Removed Values Added
Description OpenWrt is a Linux operating system targeting embedded devices. Prior to 25.12.5, odhcpd writes a DHCPv6 client FQDN option 39 hostname into /tmp/odhcpd.leases through src/statefiles.c statefiles_write_state6() and statefiles_write_state4() without escaping, allowing newline injection of forged lease lines that LuCI rpcd-mod-luci getDHCPLeases displays through htdocs/luci-static/resources/view/status/include/40_dhcp.js and htdocs/luci-static/resources/luci.js dom.append as live HTML in the Active DHCPv6 Leases admin page. This vulnerability is fixed in 25.12.5.
Title OpenWrt odhcpd/LuCI: unauthenticated DHCPv6 client can inject lease-file lines via FQDN hostname → stored XSS in the LuCI admin UI
Weaknesses CWE-117
CWE-150
CWE-79
References
Metrics cvssV3_1

{'score': 9.6, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-07-15T18:08:36.882Z

Reserved: 2026-07-14T22:32:17.731Z

Link: CVE-2026-62948

cve-icon Vulnrichment

Updated: 2026-07-15T18:08:29.931Z

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-07-31T03:15:04Z

Weaknesses
  • CWE-117

    Improper Output Neutralization for Logs

  • CWE-150

    Improper Neutralization of Escape, Meta, or Control Sequences

  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')