CVE-2026-108931
Executive Summary
CVE-2026-108931 is a reflected cross-site scripting (XSS) vulnerability in Netcore NR268 firmware version 1.7.121109, specifically within the DHCP handler component's dhcp_dynamicip_show.cgi script. The flaw resides in the eval function, where manipulation of the Hostname argument allows an attacker to inject arbitrary script that executes in a victim's browser context. The vulnerability is remotely exploitable, has a public proof-of-concept, and remains unpatched as the vendor did not respond to disclosure attempts; successful exploitation requires user interaction (e.g., a victim clicking a crafted link) and primarily impacts integrity through session hijacking or client-side script execution.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
The vulnerability is classified as CWE-79 (Improper Neutralization of Input During Web Page Generation, commonly known as Cross-Site Scripting). The affected component is the DHCP handler of the Netcore NR268 router firmware, exposed through the CGI script dhcp_dynamicip_show.cgi. According to the NVD description, the issue centers on the eval function within this script, which processes the Hostname argument without adequate sanitization or output encoding.
In a typical dynamic IP display context, the CGI script likely retrieves DHCP lease information (including client-provided hostnames) and renders it into an HTML page. The Hostname field — often set by DHCP clients during lease negotiation — becomes an injection vector. If the script uses eval to process or display this value, an attacker who can control the hostname parameter can inject JavaScript that is executed when the page is viewed by an administrator or other user.
The CVSS v3.1 vector (AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N) indicates:
- Attack Vector (Network): Exploitable remotely over the network.
- Attack Complexity (Low): No special conditions beyond user interaction.
- Privileges Required (None): The attacker does not need authentication to deliver the payload.
- User Interaction (Required): The victim must visit a crafted URL or view a malicious page.
- Scope (Unchanged): The exploit does not affect resources beyond the vulnerable component's security authority.
- Confidentiality (None): No direct data exposure.
- Integrity (Low): Limited modification of data or behavior (e.g., client-side script execution).
- Availability (None): No disruption of service.
The public disclosure and lack of vendor response indicate a zero-day scenario with no official fix. The eval construct is a dangerous practice, as it directly interprets input as code or executable markup depending on context. Without source code, we cannot confirm the exact rendering path, but the manipulation of the Hostname argument resulting in XSS is explicitly stated.
Exploitation Scenarios
Attack chain inferred from the vulnerability class and provided description. No public PoC code is available; the following is a conceptual reconstruction based strictly on the NVD entry.
Reconnaissance/Target Identification: An attacker scans for internet-facing Netcore NR268 devices (e.g., via Shodan using
http.html:"dhcp_dynamicip_show.cgi"orproduct:"Netcore NR268"). The device may be a router or gateway with its management interface exposed. The attacker identifies a target running firmware 1.7.121109.Triggering the Flaw Class: The attacker crafts a malicious value for the
Hostnameargument that is passed to thedhcp_dynamicip_show.cgiscript. Because the script usesevalon this argument without sanitization, the injected content is interpreted and reflected into the response. The exact parameter name isHostnameas stated in the description. The attacker may need to either send a DHCP request with a crafted hostname (if the script dynamically reflects lease data) or directly request the CGI with a manipulated query parameter. The description says "manipulation of the argument Hostname," implying the argument is part of the request to the CGI or is stored from a DHCP lease.Payload/Execution Method: The payload is a JavaScript snippet (e.g.,
<script>alert(document.cookie)</script>or a more malicious script) encoded within theHostnameargument. Because theevalfunction executes the input, the script runs in the context of the victim's browser when they view the affected page. The victim must be lured to a URL that triggers the script (reflected XSS) or to a page that displays the malicious hostname data (stored XSS, if the hostname is persisted). The CVSS vector requires user interaction, consistent with a reflected XSS where the victim clicks a link.Post-Exploitation Impact: Successful exploitation allows the attacker to execute arbitrary JavaScript in the victim's browser session. This can lead to session cookie theft, credential harvesting, defacement, or redirection to malicious sites. Given the CVSS integrity impact is Low, the primary consequence is client-side manipulation rather than full system compromise. However, if the victim has administrative privileges on the router interface, the attacker could potentially perform actions on behalf of the admin (e.g., change settings) via CSRF-like techniques, though the scope remains unchanged.
Impact Assessment
The vulnerability affects Netcore NR268 devices running firmware 1.7.121109. These are typically small office/home office (SOHO) routers or gateways, often deployed at network edges. The blast radius is limited to users who interact with the crafted link or page. Business impact includes:
- Session Hijacking: An attacker could steal session tokens or cookies, potentially gaining unauthorized access to the router's management interface.
- Client-Side Attacks: Malicious scripts can redirect users to phishing sites, download malware, or perform actions within the web application's context.
- Reputation Damage: For organizations using these devices, an unpatched XSS can be a foothold for further attacks if administrative sessions are compromised.
- Compliance Risks: Unpatched vulnerabilities can violate security policies (e.g., PCI DSS, HIPAA) if the device is part of a regulated network.
CVSS subscores confirm a moderate severity (4.3 Medium): network exploitable, low complexity, no privileges, but requiring user interaction, with only low integrity impact and no confidentiality or availability impact. The lack of a patch elevates the risk over time as exploits become public.
Detection Guidance
Sigma Rule
title: Netcore NR268 dhcp_dynamicip_show.cgi Hostname XSS Attempt
id: 8f3c2a1b-4d5e-6f7a-8b9c-0d1e2f3a4b5c
status: experimental
description: Detects attempts to exploit CVE-2026-108931 via the Hostname argument in dhcp_dynamicip_show.cgi
author: Threat Intelligence
date: 2026-01-01
logsource:
category: webserver
product: netcore
detection:
selection:
cs-uri-query|contains:
- 'Hostname='
- 'dhcp_dynamicip_show.cgi'
cs-uri-query|re:
- '(?i)(<script|%3Cscript|javascript:|onerror=|onload=)'
condition: selection
falsepositives:
- Legitimate hostnames containing special characters
level: medium
tags:
- attack.t1190
- cve.2026.108931
YARA Rule
rule CVE_2026_108931_Netcore_XSS
{
meta:
description = "Detects exploitation attempts of CVE-2026-108931 in Netcore NR268 dhcp_dynamicip_show.cgi"
author = "Threat Intelligence"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-108931"
severity = "medium"
strings:
$s1 = "dhcp_dynamicip_show.cgi" ascii wide nocase
$s2 = "Hostname" ascii wide nocase
$xss1 = "<script" ascii wide nocase
$xss2 = "javascript:" ascii wide nocase
$xss3 = "onerror=" ascii wide nocase
$xss4 = "onload=" ascii wide nocase
$xss5 = "eval(" ascii wide nocase
condition:
any of ($s*) and any of ($xss*)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-108931 Netcore NR268 dhcp_dynamicip_show.cgi Hostname XSS Attempt"; flow:to_server,established; content:"dhcp_dynamicip_show.cgi"; http_uri; nocase; content:"Hostname="; http_uri; nocase; pcre:"/(%3Cscript|<script|javascript:|onerror=|onload=)/iU"; reference:cve,2026-108931; reference:url,https://nvd.nist.gov/vuln/detail/CVE-2026-108931; classtype:web-application-attack; sid:2026108931; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=5s
[ network where url.path == "*/dhcp_dynamicip_show.cgi" and url.query contains "Hostname=" ]
[ network where url.query regex ".*(?i)(<script|%3Cscript|javascript:|onerror=|onload=).*" ]
Splunk SPL Query
index=web sourcetype=access_combined
| search uri="*dhcp_dynamicip_show.cgi*" uri="*Hostname=*"
| regex uri="(?i)(<script|%3Cscript|javascript:|onerror=|onload=)"
| table _time, src_ip, dest_ip, uri, status, user_agent
| sort - _time
Wazuh OSSEC Rule
<group name="web,appsec,cve-2026-108931">
<rule id="100931" level="10">
<if_sid>31100</if_sid>
<url>dhcp_dynamicip_show.cgi</url>
<regex type="pcre2">(?i)Hostname=.*(<script|%3Cscript|javascript:|onerror=|onload=)</regex>
<description>CVE-2026-108931: Netcore NR268 XSS attempt via Hostname argument in dhcp_dynamicip_show.cgi</description>
<mitre>
<id>T1190</id>
</mitre>
<group>cve_2026_108931,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate Mitigations:
- Restrict network access to the router's management interface (e.g., disable remote management, use firewall rules to allow only trusted IPs).
- Deploy a web application firewall (WAF) with rules to block XSS payloads targeting
dhcp_dynamicip_show.cgiand theHostnameparameter. - Educate users not to click untrusted links, especially those pointing to router management pages.
- If possible, disable the DHCP dynamic IP display feature or the affected CGI script if not required.
Patch/Upgrade Steps:
- No official patch is available. Contact Netcore support directly for a firmware update or mitigation guidance. Monitor the vendor's website and security advisories for CVE-2026-108931.
- As a temporary workaround, consider replacing affected devices with alternative models or isolating them on a separate network segment with strict access controls.
Long-Term Hardening:
- Implement a vulnerability management program to track unpatched devices and enforce replacement timelines.
- Use network segmentation to isolate IoT/embedded devices from critical assets.
- Enable logging and monitoring for suspicious HTTP requests to management interfaces.
- Consider open-source firmware alternatives if supported, or deploy behind a reverse proxy that sanitizes input.
References
- NVD — CVE-2026-108931: https://nvd.nist.gov/vuln/detail/CVE-2026-108931
- MITRE CWE-79: https://cwe.mitre.org/data/definitions/79.html
- Netcore Official Website (vendor advisory pending): https://www.netcore.in
- CISA KEV Catalog (not listed): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
- FIRST EPSS (not yet scored): https://www.first.org/epss
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.
💣 PoC CODE AVAILABLE
Exploit code for this CVE is tracked in our database.
Access poc_code via API Pro.