Patch Ticker

Model Context Protocol TypeScript SDK 인증 및 요청 처리 결함

AI 도구 연결용 개발 부품이라, 다른 서비스 열쇠로 들어오거나 서버가 멈출 수 있습니다.

요약

Model Context Protocol TypeScript SDK의 여러 결함으로 다른 서비스용 토큰이 MCP 서버에서 통과되거나, 한 요청으로 서버 메모리가 바닥나거나, 여러 클라이언트의 메시지가 섞이거나, 리다이렉트를 따라 인증 정보가 외부로 전송될 수 있습니다. 해당 패키지(@modelcontextprotocol/sdk, server, express, server-legacy, client)를 쓰는 MCP 서버와 클라이언트가 영향을 받습니다.

해당 조건

  • 여러 서비스용 토큰을 발급하는 인증 서버 사용
  • 앱의 verifyAccessToken()이 aud를 직접 검사하지 않음
  • HTTP로 제공하는 MCP 서버(stdio 전용은 해당 없음)
  • 배열이나 객체 키를 입력받는 도구 사용
  • 하나의 전송 객체나 서버 인스턴스를 여러 클라이언트가 공유
  • HTTP 리다이렉트를 따르는 클라이언트 전송 또는 OAuth 요청 사용

대처법

@modelcontextprotocol/sdk는 1.32.0, @modelcontextprotocol/server는 2.3.0, @modelcontextprotocol/express는 2.0.2, @modelcontextprotocol/server-legacy는 2.3.1, @modelcontextprotocol/client는 2.3.0 이상으로 업데이트하세요. 업데이트만으로는 대상 검사가 꺼진 상태이므로 aud 검사를 켜고 토큰 대상도 함께 지정하세요. 대상 검사만 켜면 모든 요청이 HTTP 401을 받습니다. 여러 클라이언트가 공유하는 인스턴스는 앱 코드를 고쳐야 하며, 요청 본문 크기 제한과 도구 입력 요소 제한도 설정하세요.

내 제품에 맞는 버전 이상으로 업데이트하세요:

  • @modelcontextprotocol/sdk 1.32.0 이상
  • @modelcontextprotocol/server 2.3.0 이상
  • @modelcontextprotocol/express 2.0.2 이상
  • @modelcontextprotocol/server-legacy 2.3.1 이상
  • @modelcontextprotocol/client 2.3.0 이상

대상 제품과 운영체제

  • @modelcontextprotocol/client
  • @modelcontextprotocol/express
  • @modelcontextprotocol/sdk
  • @modelcontextprotocol/server
  • @modelcontextprotocol/server-legacy
  • modelcontextprotocol/typescript-sdk

CVE 번호

원문 링크

시각

처음 게시

처음 확인