{"id":"CVE-2026-102989","title":"TanStack Router is a client-first, server-capable, fully type-safe router and full-stack framework for the web","summary":"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/soli…","severity":"critical","cvss":9.3,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N","cwe":["CWE-79"],"vendor":"TanStack","product":"router","affected":["router < release-2026-09-30-1747","react-start >= 1.143.12, < 1.168.60","solid-start >= 1.143.12, < 1.168.57","start-server-core >= 1.143.12, < 1.169.39","vue-start >= 1.143.12, < 1.168.56"],"patched":["@tanstack/start-server-core 1.169.39","@tanstack/react-start 1.168.60","@tanstack/solid-start 1.168.57","@tanstack/vue-start 1.168.56"],"published":"2026-10-13","updated":"2026-10-16","sourceUpdated":"2026-10-16T16:00:33.533","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-102989","references":[{"url":"https://github.com/TanStack/router/commit/d521abd71c69f1ff010bb3def4d417cb5fa058cb","label":"security-advisories@github.com"},{"url":"https://github.com/TanStack/router/pull/8573","label":"security-advisories@github.com"},{"url":"https://github.com/TanStack/router/releases/tag/release-2026-09-30-1747","label":"security-advisories@github.com"},{"url":"https://github.com/TanStack/router/security/advisories/GHSA-qx66-fv34-fjm8","label":"security-advisories@github.com"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-102989"},{"url":"https://github.com/advisories/GHSA-qx66-fv34-fjm8"}],"tags":["nvd","cve.org","ghsa","npm"],"epss":0.00544,"epssPercentile":0.45466,"aliases":["GHSA-qx66-fv34-fjm8"],"ecosystem":"npm","ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-14T15:19:40.392223Z"},"ingestedAt":"2026-10-13T17:38:53.176Z","slug":"CVE-2026-102989","body":"## Overview\n\nTanStack 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.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.\n\n## Package advisory (CVE-2026-102989)\n\nAffected packages:\n\n- `@tanstack/start-server-core >= 1.143.12, < 1.169.39`\n- `@tanstack/react-start >= 1.143.12, < 1.168.60`\n- `@tanstack/solid-start >= 1.143.12, < 1.168.57`\n- `@tanstack/vue-start >= 1.143.12, < 1.168.56`\n\nPatched in:\n\n- `@tanstack/start-server-core 1.169.39`\n- `@tanstack/react-start 1.168.60`\n- `@tanstack/solid-start 1.168.57`\n- `@tanstack/vue-start 1.168.56`\n\nSource: https://github.com/advisories/GHSA-qx66-fv34-fjm8","depth":"midnight","depthScore":51,"depthScoreParts":{"impact":51.2,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}