---
title: "CVE-2026-102989: TanStack Router - Stored XSS"
description: "TanStack Router versions @tanstack/start-server-core 1.143.12 to <1.169.39, @tanstack/react-start <1.168.60, @tanstack/solid-start <1.168.57, and @tanstack/vue-start <1.168.56 contain a stored XSS caused by attacker-controlled middleware state reaching error path, letting unauthenticated attackers inject scripts that execute with visitor's authority, exploit requires crafted server-function URL."
url: https://panop.io/threat-heartbeat/CVE-2026-102989/
---

# CVE-2026-102989 TanStack Router - Stored XSS

TanStack Router versions @tanstack/start-server-core 1.143.12 to <1.169.39, @tanstack/react-start <1.168.60, @tanstack/solid-start <1.168.57, and @tanstack/vue-start <1.168.56 contain a stored XSS caused by attacker-controlled middleware state reaching error path, letting unauthenticated attackers inject scripts that execute with visitor's authority, exploit requires crafted server-function URL.

CVSS base score 9.3 /10

Critical

CISA KEV

Not listed

Public exploit

None known

Authentication

Not required

EPSS

0.52% chance of exploitation in 30 days

[View the NVD record ↗](https://nvd.nist.gov/vuln/detail/CVE-2026-102989)

## Details

Type

Stored XSS

Impact

Stored XSS, Information Disclosure

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:N

Published

13 October 2026

Updated

15 October 2026

Weakness

[CWE-79](https://cwe.mitre.org/data/definitions/79.html)

## Vendor fix

Update to @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 later.

Patching closes this CVE. It does not tell you which of your systems run the affected version, or what else is exposed alongside them.

## References

- [https://nvd.nist.gov/vuln/detail/CVE-2026-102989](https://nvd.nist.gov/vuln/detail/CVE-2026-102989)
- [https://github.com/TanStack/router/commit/d521abd71c69f1ff010bb3def4d417cb5fa058cb](https://github.com/TanStack/router/commit/d521abd71c69f1ff010bb3def4d417cb5fa058cb)
- [https://github.com/TanStack/router/pull/8573](https://github.com/TanStack/router/pull/8573)
- [https://github.com/TanStack/router/releases/tag/release-2026-09-30-1747](https://github.com/TanStack/router/releases/tag/release-2026-09-30-1747)
- [https://github.com/TanStack/router/security/advisories/GHSA-qx66-fv34-fjm8](https://github.com/TanStack/router/security/advisories/GHSA-qx66-fv34-fjm8)

[← All CVEs](https://panop.io/threat-heartbeat/)

## What this record can't tell you

- Whether you run the affected software, and where
- Whether an attacker can actually reach and exploit it
- The misconfigurations that never get a CVE number
- What it would cost the business, ranked into what to fix first

Panop answers these inside your environment, for this CVE and every other finding.

[Book a demo](https://panop.io/demo)
