CVE-2026-108908
Executive Summary
CVE-2026-108908 is a stored/reflected cross-site scripting (XSS) vulnerability (CWE-79) in the Netcore NR268 router firmware version 1.7.121109, affecting the Web UI component at the file /router/l7_call_board_user_set.cgi. The flaw resides in the eval function and is triggered through manipulation of the title, note, URL, or content arguments, allowing an authenticated remote attacker to inject malicious script. Although the CVSS base score is low (2.4) due to required high privileges and user interaction, the exploit is publicly available and the vendor did not respond to disclosure, leaving all deployments unpatched.
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, i.e., cross-site scripting). According to the NVD description, the affected component is the Web UI of the Netcore NR268 router (firmware 1.7.121109). The specific function involved is eval, and the vulnerable file is /router/l7_call_board_user_set.cgi. The arguments title, note, URL, and content are processed by this eval function, and manipulation of any of these leads to XSS. The attack vector is remote (AV:N), requires high privileges (PR:H), and necessitates user interaction (UI:R). The scope is unchanged (S:U), with no confidentiality or availability impact, and low integrity impact (I:L).
In a typical router web interface, CGI scripts handle user-supplied parameters from HTTP requests and often pass them to JavaScript eval for dynamic page rendering. When input is not properly sanitized or encoded, an attacker can inject arbitrary JavaScript that executes in the context of the victim's browser session. Because the vulnerable file is .cgi, the injection likely occurs via GET or POST parameters named title, note, URL, or content. The eval function then executes the injected string as code. This is consistent with a DOM-based or reflected XSS pattern, where the malicious payload is either stored and later rendered or immediately reflected in the response.
The fact that high privileges are required suggests that the attacker must first authenticate to the router's web interface (or have valid session credentials) to reach the vulnerable endpoint. User interaction implies that a victim (likely an administrator) must visit a crafted link or load a page containing the malicious payload. The low CVSS score reflects the limited impact—primarily session hijacking, defacement, or redirection—rather than full device compromise.
No public proof-of-concept code was provided in the data, but the NVD description states "The exploit is publicly available and might be used." This indicates that while a PoC may exist in the wild, it was not included in the provided intelligence. The exact technical details of the eval usage and parameter handling are not fully described, so the analysis remains at the vulnerability-class level.
Exploitation Scenarios
1) Reconnaissance/target identification: An attacker scans for Netcore NR268 routers exposed to the internet or on a local network. Shodan dorks such as http.title:"NR268" or http.html:"router/l7_call_board_user_set.cgi" can identify potential targets. The attacker must have network access to the web interface (typically port 80 or 443) and valid credentials for high-privilege access.
2) Triggering the flaw: The attacker crafts a malicious URL or form submission that targets /router/l7_call_board_user_set.cgi with a payload in the title, note, URL, or content parameter. Because the input is passed to eval without proper sanitization, the JavaScript payload executes. For example, a malicious title parameter could contain <script>alert(document.cookie)</script> or a more sophisticated payload that exfiltrates session cookies.
3) Payload/execution method: The attacker sends the crafted request to the router's web server. If the victim (an authenticated administrator) visits a link containing the payload, the script executes in their browser context. Alternatively, if the parameter is stored (e.g., in a configuration field), the script executes whenever the page is loaded. The eval function interprets the injected string as JavaScript, leading to arbitrary code execution within the browser's security context.
4) Post-exploitation impact: Successful exploitation allows the attacker to steal session cookies, perform actions on behalf of the victim (CSRF-like), redirect the victim to malicious sites, or deface the router's web interface. Because the router is a network device, compromise of an admin session could lead to further network manipulation, such as changing DNS settings, enabling remote access, or altering firewall rules—though those actions are not directly part of this XSS vulnerability. The CVSS score of 2.4 indicates limited direct impact, but the public availability of the exploit increases the likelihood of opportunistic attacks.
No public PoC is available in the provided data; the attack chain is inferred from the vulnerability class and description.
Impact Assessment
The CVSS v3.1 base score is 2.4 (Low), with vector CVSS:3.1/AV:N/AC:L/PR:H/UI:R/S:U/C:N/I:L/A:N. This breaks down as:
- Attack Vector (AV:N): Exploitable remotely over the network.
- Attack Complexity (AC:L): No special conditions; the attack is straightforward.
- Privileges Required (PR:H): The attacker must possess high privileges (e.g., administrative access) to reach the vulnerable endpoint.
- User Interaction (UI:R): A victim user must interact with the malicious payload (e.g., clicking a link).
- Scope (S:U): The vulnerability does not affect resources beyond the security scope of the vulnerable component.
- Confidentiality (C:N): No direct loss of confidentiality.
- Integrity (I:L): Low impact; the attacker can modify some data or execute script in the victim's browser.
- Availability (A:N): No impact on availability.
The blast radius is limited to the authenticated administrative session. An attacker could hijack the session, perform unauthorized actions within the router's web UI, or redirect the admin to a phishing page. However, because high privileges and user interaction are required, the overall risk is moderate for targeted attacks. The lack of a vendor patch means the vulnerability remains exploitable indefinitely until mitigations are applied. EPSS is not yet scored, and CISA KEV does not list this CVE. The public availability of an exploit increases the urgency for organizations using the Netcore NR268.
Detection Guidance
Sigma Rule
title: Netcore NR268 XSS Attempt via l7_call_board_user_set.cgi
id: 8f4c2e1a-3b5d-4f7e-9c8a-1d2e3f4a5b6c
status: experimental
description: Detects exploitation attempts targeting CVE-2026-108908 in Netcore NR268 router web UI
author: Threat Intel
date: 2026-01-01
logsource:
category: webserver
product: apache
detection:
selection:
cs-method: 'GET'
cs-uri-stem: '/router/l7_call_board_user_set.cgi'
cs-uri-query|contains:
- 'title='
- 'note='
- 'URL='
- 'content='
filter:
cs-uri-query|re: '(?i)(<script|javascript:|onerror=|onload=|alert\()'
condition: selection and filter
falsepositives:
- Legitimate administrative activity with benign input
level: high
YARA Rule
rule CVE_2026_108908_Netcore_NR268_XSS
{
meta:
description = "Detects XSS payloads targeting Netcore NR268 CVE-2026-108908"
author = "Threat Intel"
date = "2026-01-01"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-108908"
severity = "medium"
strings:
$s1 = "l7_call_board_user_set.cgi" ascii wide nocase
$s2 = "eval(" ascii wide nocase
$s3 = "title=" ascii wide nocase
$s4 = "note=" ascii wide nocase
$s5 = "URL=" ascii wide nocase
$s6 = "content=" ascii wide nocase
$xss1 = "<script>" ascii wide nocase
$xss2 = "javascript:" ascii wide nocase
$xss3 = "onerror=" ascii wide nocase
$xss4 = "onload=" ascii wide nocase
$xss5 = "alert(" ascii wide nocase
condition:
(uint16(0) == 0x4749 or uint16(0) == 0x4D5A or true) and
any of ($s*) and 1 of ($xss*)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-108908 Netcore NR268 XSS Attempt via l7_call_board_user_set.cgi"; flow:to_server,established; http.uri; content:"/router/l7_call_board_user_set.cgi"; http.uri; content:"title="; nocase; http.uri; content:"<script"; nocase; sid:1000001; rev:1; metadata:created_at 2026_01_01, cve CVE-2026-108908;)
Elastic Detection
sequence by host.name
[network where http.request.method == "GET" and url.path == "/router/l7_call_board_user_set.cgi"]
[network where http.request.method == "GET" and url.path == "/router/l7_call_board_user_set.cgi" and url.query matches ".*(title|note|URL|content)=.*(<script|javascript:|onerror=|onload=|alert\\()"]
Splunk SPL Query
index=web sourcetype=access_combined
| search uri_path="/router/l7_call_board_user_set.cgi"
| regex uri_query="(?i)(title|note|URL|content)=.*(<script|javascript:|onerror=|onload=|alert\()"
| stats count min(_time) as firstTime max(_time) as lastTime by src_ip, uri_query, status
| where count > 0
| sort - count
Wazuh OSSEC Rule
<group name="web,appsec,">
<rule id="100100" level="12">
<if_sid>31100</if_sid>
<id>^/router/l7_call_board_user_set.cgi</id>
<match>title=|note=|URL=|content=</match>
<regex>(?i)(<script|javascript:|onerror=|onload=|alert\()</regex>
<description>CVE-2026-108908: Netcore NR268 XSS attempt detected</description>
<mitre>
<id>T1059.007</id>
</mitre>
<group>cve_2026_108908,xss,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate mitigations:
- Disable remote access to the router's web interface from untrusted networks; restrict to trusted IPs via firewall rules.
- Implement input validation and output encoding at the web application layer if custom modifications are possible.
- Deploy a web application firewall (WAF) with rules to block XSS payloads targeting
/router/l7_call_board_user_set.cgi. - Educate administrators about the risks of clicking untrusted links while authenticated to the router.
- Monitor for suspicious HTTP requests containing script tags in parameters.
Patch/upgrade steps:
- No vendor patch is available. Contact the vendor (Netcore) for updated firmware; however, the vendor did not respond to disclosure.
- If possible, replace the affected device with an alternative model that receives security updates.
- Check for firmware updates periodically; if a patch is released, apply it immediately.
Long-term hardening:
- Segment network management interfaces from general user traffic.
- Enforce strong, unique credentials and multi-factor authentication for administrative access.
- Regularly audit router firmware versions and apply vendor patches when available.
- Consider using a reverse proxy to sanitize input and enforce Content Security Policy (CSP) headers.
- Implement continuous monitoring for exploitation attempts using the detection rules provided.
References
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-108908
- CWE-79: https://cwe.mitre.org/data/definitions/79.html
- MITRE ATT&CK T1059.007: https://attack.mitre.org/techniques/T1059/007/
- Vendor: Netcore (no advisory available; vendor did not respond)
- CISA KEV: Not applicable (CVE not listed)
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.