TL;DR

  • TanStack Start의 서버 함수 응답 처리에서 CVE-2026-102989에 해당하는 치명적 반사형 사이트 간 스크립팅(XSS) 취약점이 발견돼 수정 버전이 공개됨.
  • 인증되지 않은 공격자가 조작한 서버 함수 URL을 만들면 영향을 받는 애플리케이션의 출처에서 공격자 제어 HTML이 반환될 수 있음.
  • 사용자가 해당 링크를 열면 공격자 자바스크립트가 애플리케이션에 대한 사용자 권한으로 실행될 수 있음.
  • 수정 사항은 클라이언트 제공 입력을 제한하고 서버 경계에서 응답을 검증하는 방식임.
  • 영향을 받는 애플리케이션은 패키지와 잠금 파일을 업데이트하고, 다시 빌드한 뒤 재배포해야 하며 로컬 설치 업데이트만으로는 배포된 애플리케이션이 수정되지 않음.

취약점 및 수정 사항

  • 2026년 9월 30일, TanStack Start의 서버 함수 응답 처리에서 발생하는 치명적 반사형 사이트 간 스크립팅(XSS) 취약점 CVE-2026-102989의 수정 버전이 npm에 공개됨.
  • 인증되지 않은 공격자는 영향을 받는 애플리케이션의 출처에서 공격자 제어 HTML을 반환하는 서버 함수 URL을 만들 수 있음.
  • 사용자가 해당 링크를 열 경우 공격자 자바스크립트가 애플리케이션에 대한 사용자의 접근 권한으로 실행될 수 있음.
  • 수정 사항은 클라이언트에서 제공하는 입력을 제한하고 서버 경계에서 응답을 검증함.

패치 버전으로 업그레이드

  • 1.143.12 이상부터 아래 해당 패치 버전 미만까지의 버전이 영향을 받음.
  • @tanstack/react-start: 1.168.60
  • @tanstack/solid-start: 1.168.57
  • @tanstack/vue-start: 1.168.56
  • @tanstack/start-server-core: 1.169.39
  • Start 의존성과 잠금 파일을 업데이트하고, 확인된 @tanstack/start-server-core 버전이 1.169.39 이상인지 확인한 다음 다시 빌드하고 재배포해야 함.
  • 로컬 설치만 업데이트해도 이미 배포된 애플리케이션은 패치되지 않음. 업그레이드 전까지 엣지 완화책을 사용할 수 있지만, 이는 수정 버전을 대체하지 않음.

공개 및 협력

  • 릴리스 전에 호스팅 제공업체, 배포업체, 영향을 받는 파트너에게 비공개로 사전 안내해 준비할 수 있도록 함.
  • 문제를 발견하고 수정 작업에 협력한 Lovable에 감사의 뜻을 전함.
  • 영향을 받는 버전 범위, 심각도, 완화 세부 사항은 GitHub 보안 권고에서 확인할 수 있음.