Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft server-function URL with non-public payload fields
-
DeliveryDeliver same-origin link to victim
-
ExploitBypass response validation so object is treated as HTTP response
-
ExecutionVictim browser renders attacker-controlled HTML/JS
-
ImpactInjected script reads same-origin data and acts with victim authority
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The application must be a TanStack Start deployment using server functions via a vulnerable package version: @tanstack/start-server-core 1.143.12 to <1.169.39, @tanstack/react-start <1.168.60, @tanstack/solid-start <1.168.57, or @tanstack/vue-start <1.168.56 (Router before release-2026-09-30-1747). The specific prerequisite is that server-function request handling accepts non-public/attacker-supplied payload fields that steer attacker-controlled middleware state onto the error path, where a response-shaped object is accepted as an HTTP response without validating it is a genuine Response - allowing attacker HTML to be returned from the app origin. Exploitation is LIMITED by required user interaction (UI:R): a victim must open the attacker's crafted server-function URL for the injected script to execute; no attacker authentication is required (PR:N). Upgrading to the fixed versions, which enforce a strict Response instanceof check, removes the condition entirely. |
| Impact | This is a genuine high-priority issue, not an inflated CVSS score. The CVSS 3.1 vector (AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N, 9.3) is internally consistent with the description: an unauthenticated, remote, low-complexity attack that crosses a security scope boundary (S:C) - the vulnerable server code is abused to compromise the victim's browser/same-origin context. The only mitigating metric is UI:R, since a victim must open the attacker's crafted server-function URL, which places this closer to reflected/stored-link XSS than to fully autonomous exploitation. No EPSS score, CISA KEV entry, or public POC was provided in the input, so there is no current evidence of active or at-scale exploitation; the severity is driven by the capability (same-origin script execution and acting with the visitor's authority) rather than by observed in-the-wild activity. The fix is confirmed available across all affected packages, so the practical risk is concentrated in deployments that have not yet upgraded. Note that EPSS/KEV/POC signals are absent from the input rather than confirmed-negative, so exploitation likelihood cannot be quantified from the data at hand. |
| Exploit ScenarioDerived | An attacker crafts a malicious server-function URL for a vulnerable TanStack Start application and inserts non-public fields into the request payload so attacker-controlled middleware state reaches the error path, causing a response-shaped object containing attacker HTML to be accepted as the HTTP response. The attacker sends this same-origin link to a victim (e.g. via phishing); when the victim opens it, the injected script runs in the application's origin, reads same-origin data, and issues authenticated requests as that visitor. No public exploit identified at time of analysis, though the fixing commit and PR are public and detail the vulnerable code path. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 13, 2026
Reflected cross-site scripting in TanStack Start server functions lets an unauthenticated attacker craft a server-function URL that causes the application's own origin to return attacker-controlled HTML, which executes in the browser of any visitor who opens that URL and can then read same-origin data or issue requests with the victim's authority. The flaw affects @tanstack/start-server-core from 1.143.12 through versions before 1.169.39, plus @tanstack/react-start before 1.168.60, @tanstack/solid-start before 1.168.57, and @tanstack/vue-start before 1.168.56 (TanStack Router before release-2026-09-30-1747). Exploitation is unauthenticated (PR:N) but requires victim interaction (UI:R) - the target must open the attacker-supplied URL - and no public exploit code or active exploitation has been identified at time of analysis, so the 9.3 score reflects the high confidentiality and integrity impact of the same-origin script injection rather than confirmed in-the-wild attacks.
RemediationAI
Upgrade to the vendor-released fixed versions: @tanstack/start-server-core 1.169.39, @tanstack/react-start 1.168.60, @tanstack/solid-start 1.168.57, and @tanstack/vue-start 1.168.56 (or the TanStack Router release tagged release-2026-09-30-1747). Patch details, the full advisory, the referenced pull request, and the fixing commit are available at https://github.com/TanStack/router/security/advisories/GHSA-qx66-fv34-fjm8, https://github.com/TanStack/router/pull/8573, https://github.com/TanStack/router/commit/d521abd71c69f1ff010bb3def4d417cb5fa058cb, and https://github.com/TanStack/router/releases/tag/release-2026-09-30-1747. Because the fix enforces a strict instanceof Response check and refuses to serialize arbitrary response-shaped objects, no configuration flag or feature toggle restores the vulnerable behavior, so upgrading is the only complete remediation. If immediate upgrade is not possible, treat the exposure as an XSS vector: place an upstream reverse proxy or WAF rule in front of server-function endpoints that rejects requests carrying unexpected/non-public payload fields (for example, caller-supplied context or other fields the client should never set), and use a Content-Security-Policy with a restrictive script-src (nonce- or hash-based, no 'unsafe-inline') plus strict same-origin framing controls to blunt script execution if injected HTML is still served - noting that CSP is a defense-in-depth control, does not prevent the attacker-controlled HTML from being returned from the application origin, and can break legitimate inline-script or third-party script usage. Blocking or rate-limiting server-function URLs is not a reliable workaround because the endpoints are legitimate application functionality, and filtering solely on URL patterns will likely miss crafted variants; monitor access logs for server-function requests with anomalous payload keys while remediation is pending.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 8 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
TanStack Start implements "server functions" - RPC-style handlers that are invoked from the client and serialized across the network by @tanstack/start-server-core, with framework adapters for React, Solid, and Vue. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / cross-site scripting) arising from a response-shaping weakness: the SSR/server-function pipeline used duck-typed structural checks (an object having 'response' and 'serverSsrCleanup' properties) instead of a genuine instanceof Response validation, and the server-function handler merged attacker-supplied payload fields - including non-public fields such as a caller-controlled context - into middleware state via safeObjectMerge. By placing non-public fields in the server-function request payload, an attacker can steer attacker-controlled middleware state onto the error path, where the framework's error handling accepted a response-shaped object as if it were a real HTTP response and returned it to the client. The result is that a crafted server-function URL serves attacker-authored HTML under the application's origin, bypassing the same-origin boundary. The upstream fix (PR #8573, commit d521abd71c69f1ff010bb3def4d417cb5fa058cb) aligns request and response handling: it requires value.response instanceof Response, validates the serverSsrCleanup state machine ('none' or 'stream' with a callable dispose), throws a TypeError when the SSR handler does not yield a Response, introduces ensureResponse/finalizeResponse/handleResponseError with a 500 fallback for unrecognized values, and restricts server-function invocation to explicit { data, context, method } fields rather than spreading attacker-controlled options.
Know when Router 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
AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N
Unauthenticated remote attacker crafts the URL (AV:N/AC:L/PR:N) but a victim must open it (UI:R); server flaw compromises the browser origin (S:C) enabling same-origin data access and action as the user (C:H/I:H, A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
TanStack Router is a client-first, server-capable, fully type-safe router and full-stack framework for the web. From 1.143.12 until 1.169.39 for @tanstack/start-server-core, 1.168.60 for @tanstack/react-start, 1.168.57 for @tanstack/solid-start, and 1.168.56 for @tanstack/vue-start, an unauthenticated attacker can place non-public fields in a server-function request payload so that attacker-controlled middleware state reaches the error path and a response-shaped object is accepted as an HTTP response. A crafted server-function URL can therefore return attacker-controlled HTML from the application's origin; when a visitor opens the URL, the injected script can access same-origin data and issue requests with the visitor's authority. This issue is fixed in @tanstack/start-server-core 1.169.39, @tanstack/react-start 1.168.60, @tanstack/solid-start 1.168.57, and @tanstack/vue-start 1.168.56.
Blast Radius
ecosystem impact- 7 npm packages depend on @tanstack/start-server-core (7 direct, 0 indirect)
Ecosystem-wide dependent count for version 1.143.12.
Technical POC Analysis
CWE-79, reflected cross-site scripting.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
TanStack Start, a widely used framework for building customer-facing JavaScript web applications, carries a critical reflected cross-site scripting flaw that lets an unauthenticated attacker trick any visitor into running attacker-controlled code as if it came from the organization's own site. Once executed, that code can read data the victim's browser can access and perform actions under the victim's identity, putting customer accounts, session data, and trust in the affected application at risk. Because the defect spans several TanStack packages and every deployed application built on the vulnerable versions is exposed, leadership should treat remediation as a coordinated, time-bound engineering priority.
Apply vendor patch.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Unauthenticated remote attackers can enable Telnet on TOTOLINK X5000R AX1800 routers running firmware V9.1.0u.6369_B2023
Depending on the configuration of the route permission table in file 'saprouttab', it is possible for an unauthenticated
OS command injection in Netcore NAP930 firmware 0.1.241010.141410 allows unauthenticated remote attackers to execute arb
An unauthenticated OS command injection in the CGI handler of Netcore NR289-GE firmware 1.4.5102 lets remote attackers e
Missing authorization in Netcore NBR100V2 firmware 1.3.240614.030928 allows remote unauthenticated attackers to modify d
Authenticated administrators of ASUS routers can execute arbitrary commands on the device by uploading a crafted file th
Unauthenticated network attackers can bypass authentication in the Netcore NR289-GE router's boa_temp web handler and ab
Remote unauthenticated OS command injection in Netcore NR289-GE firmware 1.4.5102 allows attackers to execute arbitrary
Unauthenticated OS command injection in the Netcore NR289-GE router (firmware 1.4.5102) lets any remote attacker who can
A stack-based buffer overflow in the devdiscover service of FAST FAC1900R firmware 20190827_2.0.2 lets unauthenticated r
Unauthenticated OS command injection in the Netcore NBR200V2 router's Web Management Interface (firmware 1.3.241127.0712
Authenticated administrators of certain ASUS router models can abuse leftover debug code in the device's web management
EUVD-2026-98849
GHSA-qx66-fv34-fjm8
NVD
CVE.org
EPSS
Exploit-DB