{"id":"CVE-2026-102989","revision":"1aea1173ff4b4bababc8f7d256e6e7e7","records":[{"revision":"1aea1173ff4b4bababc8f7d256e6e7e7","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-102989","aliases":[],"title":"TanStack Router: Unauthenticated reflected XSS in TanStack Start server-function responses","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.","state":0,"publishedAt":"2026-10-13T16:13:13.105+00:00","modifiedAt":"2026-10-14T15:20:08.563+00:00","affected":[{"ecosystem":"Vendor product","name":"router","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"TanStack\",\n                    \"product\": \"router\",\n                    \"versions\": [\n                        {\n                            \"version\": \"< release-2026-09-30-1747\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"react-start","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"@tanstack\",\n                    \"product\": \"react-start\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 1.143.12, < 1.168.60\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"solid-start","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"@tanstack\",\n                    \"product\": \"solid-start\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 1.143.12, < 1.168.57\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"start-server-core","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"@tanstack\",\n                    \"product\": \"start-server-core\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 1.143.12, < 1.169.39\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"vue-start","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"@tanstack\",\n                    \"product\": \"vue-start\",\n                    \"versions\": [\n                        {\n                            \"version\": \">= 1.143.12, < 1.168.56\",\n                            \"status\": \"affected\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N","score":9.3,"severity":"CRITICAL"}],"references":["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","https://github.com/TanStack/router/releases/tag/release-2026-09-30-1747"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-102989","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-102989","identifiers":["CVE-2026-102989"]},"retained":false,"historicalAffected":[]}],"coverage":[]}