CVE-2026-102989
Description
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.
How to fix
- @tanstack/start-server-core1.169.39 or later
- @tanstack/react-start1.168.60 or later
- @tanstack/solid-start1.168.57 or later
- @tanstack/vue-start1.168.56 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| @tanstack/start-server-corenpm | 1.143.12 ≤ v < 1.169.39 | 1.169.39 |
| @tanstack/react-startnpm | 1.143.12 ≤ v < 1.168.60 | 1.168.60 |
| @tanstack/solid-startnpm | 1.143.12 ≤ v < 1.168.57 | 1.168.57 |
| @tanstack/vue-startnpm | 1.143.12 ≤ v < 1.168.56 | 1.168.56 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.