CVE-2026-124503: mcp-atlassian 경로 순회 취약점이란 무엇인가?

CVE-2026-124503은 sooperset mcp-atlassian의 파일 경로 검증 과정에서 보고된 경로 순회(path traversal) 취약점으로, src/mcp_atlassian/utils/io.py의 validate_safe_path 함수에 전달되는 path 인자가 조작되면서 검증 경계를 벗어난 파일 접근으로 이어지는 것이 핵심 원인이다. 이 취약점은 0.24.0 이하 버전에 영향을 주며, 인증된 원격 MCP 호출자가 첨부파일 업로드 기능을 호출할 수 있고 서버 프로세스의 현재 작업 디렉터리(CWD)가 루트(/)인 환경에서는 검증 경계의 우회가 성립할 수 있다. 기본 대응 방향은 0.24.1 업그레이드다.

CVE-2026-124503 개요: 대상 소프트웨어, 영향 버전, 수정 버전

VulDB CNA의 기록을 인용한 정리 자료에 따르면, CVE-2026-124503은 sooperset mcp-atlassian의 파일 경로 검증에서 발생하는 경로 순회 취약점으로 보고됐다. 영향을 받는 버전은 0.24.0 이하이며, 수정은 0.24.1 업그레이드로 가능하다. 주요 사실은 표로 정리했다.

구분 내용
CVE 번호 CVE-2026-124503
대상 소프트웨어 sooperset mcp-atlassian
영향 버전 0.24.0 이하
취약 위치 src/mcp_atlassian/utils/io.py의 validate_safe_path 함수
공격 경로 path 인자 조작을 통한 경로 순회
수정 버전 0.24.1
경계 우회 성립 조건 ① 인증된 원격 MCP 호출자의 첨부파일 업로드 기능 호출 가능 ② 서버 프로세스 CWD가 루트(/)

취약 지점: validatesafepath와 path 인자 조작

취약점의 발생 지점은 src/mcp_atlassian/utils/io.py에 위치한 validate_safe_path 함수다. 이 함수에 전달되는 path 인자가 조작되면 경로 순회로 이어질 수 있다고 보고돼 있다. 경로 순회는 일반적으로 경로 입력값을 조작해 의도된 디렉터리 범위를 벗어난 파일에 접근하는 취약점 유형을 가리키는데, 이번 사안에서는 파일 경로 검증 자체가 공격 표면이 됐다는 점이 특징이다.

핵심은 검증 경계의 실효성이다. 이 취약점의 경계 우회는 서버 프로세스의 작업 디렉터리 조건에 따라 성립 여부가 달라지며, CWD가 루트(/)인 환경에서는 검증 경계가 실효성을 잃는 것으로 정리돼 있다. 함수가 존재하고 검증을 수행하더라도 실행 환경에 따라 그 경계가 무의미해질 수 있다는 점이 이번 CVE의 구조적 문제다.

경계 우회가 성립하는 두 조건: 인증된 원격 호출자와 CWD 루트

경계 우회가 성립하는 특정 환경의 조건은 두 가지로 정리돼 있다.

  1. 인증된 원격 MCP 호출자가 첨부파일 업로드 기능을 호출할 수 있어야 한다.
  2. 서버 프로세스의 현재 작업 디렉터리(CWD)가 루트(/)여서 검증 경계가 실효성을 잃어야 한다.

두 조건이 동시에 만족돼야 우회가 성립하는 구조라, 각 조건의 해당 여부만 점검해도 자기 환경의 노출 가능성을 상당 부분 좁힐 수 있다. 결국 인증된 호출자 범위와 프로세스 실행 디렉터리라는 운영 요소가 취약점의 실질 위험도를 결정한다는 뜻이기도 하다.

v0.24.1 수정 내용: 파일 디렉터리 고정과 트랜스포트별 차이

트랜스포트별 변경 범위

0.24.1 릴리스에서는 파일을 읽거나 쓰는 도구의 디렉터리 처리 변경이 sse와 streamable-http 트랜스포트에 적용됐고, stdio는 변경되지 않은 것으로 명시돼 있다. 자체 운영 인스턴스가 어떤 트랜스포트로 노출돼 있는지 확인하는 것이 수정 적용 여부 판단의 출발점이 된다.

파일 입출력 디렉터리 설정과 기동 거부

변경이 적용되는 sse와 streamable-http 환경에서 파일 입출력 도구는 MCP_ATLASSIAN_FILES_DIR로 지정한 디렉터리를 사용하며, 미설정 시 ~/.mcp-atlassian/files를 사용한다. 지정한 디렉터리가 루트나 홈 디렉터리이면 서버가 시작을 거부하도록 변경됐다. 이는 CWD 조건으로 인해 검증 경계가 실효성을 잃던 문제 구조를, 허용 범위 디렉터리를 명시적으로 고정하는 방향으로 다듬은 것으로 읽을 수 있다.

운영 환경 점검 포인트

mcp-atlassian을 운영하는 관리자는 다음 순서로 점검할 수 있다.

  1. 버전 확인: 운영 인스턴스가 0.24.0 이하인지 확인하고, 해당되면 0.24.1로 업그레이드한다.
  2. 트랜스포트 확인: sse 또는 streamable-http로 서비스한다면 0.24.1의 디렉터리 처리 변경 적용 대상이고, stdio는 이번 변경 대상이 아님을 확인한다.
  3. CWD 점검: 서버 프로세스가 루트(/)를 작업 디렉터리로 실행되고 있지 않은지 확인한다. CWD가 루트면 검증 경계가 실효성을 잃는 조건이 성립한다.
  4. 호출자 범위 점검: 첨부파일 업로드 기능을 호출할 수 있는 인증된 원격 MCP 호출자가 누구인지 파악하고 최소 범위로 관리한다.
  5. 파일 디렉터리 설정: MCPATLASSIANFILES_DIR으로 전용 디렉터리를 지정하고, 루트나 홈 디렉터리 지정은 피한다. 0.24.1은 이런 설정이면 시작을 거부한다.

반복된 보안 이력: 0.22.0 관련 CVE와 경로 검증 권고 목록

이 프로젝트는 이번 CVE 이전에도 보안 이슈를 반복해 보고받아 온 이력이 있다.

0.22.0에서 수정된 CVE-2026-77250·CVE-2026-77251

NVD 기준으로 CVE-2026-77250은 0.22.0 미만 버전에서 OAuthConfig가 접근·갱신 토큰을 사용자의.mcp-atlassian 디렉터리에 평문 폴백 파일(oauth-<clientid>.json)로 프로세스 기본 권한으로 저장해(CWE-312), 관대한 umask 환경에서 같은 그룹 또는 다른 로컬 사용자·프로세스가 토큰을 읽고 Atlassian 접근을 재사용할 수 있는 취약점이다. CVSS 3.1 6.1(MEDIUM)으로 평가됐다. CVE-2026-77251은 같은 0.22.0 미만 버전에서 Jira 검색이 금지된 프로젝트 절을 허용하고, Confluence 검색의 공백 검사가 대소문자 구분 기준으로 불완전하며, Jira 보드 API에 프로젝트 필터 적용이 빠져, 운영자 자격증명 권한이 더 넓을 경우 JIRAPROJECTSFILTER 또는 CONFLUENCESPACES_FILTER 밖의 이슈·보드·페이지가 노출될 수 있는 취약점이다(CWE-1276, GitHub CVSS 4.0 8.3 HIGH / NVD CVSS 3.1 6.5 MEDIUM).

CVE 영향 버전 요점 심각도 수정
CVE-2026-77250 0.22.0 미만 OAuth 토큰 평문 폴백 파일 저장(CWE-312) CVSS 3.1 6.1 MEDIUM 0.22.0
CVE-2026-77251 0.22.0 미만 프로젝트·공간 필터 밖 데이터 노출 가능(CWE-1276) GitHub CVSS 4.0 8.3 HIGH / NVD CVSS 3.1 6.5 MEDIUM 0.22.0

경로 검증·SSRF 권고의 반복 패턴

ecosyste.ms에 등재된 pypi mcp-atlassian 보안 권고 목록에는 집계 시점 기준 약 2개월 전 공표된 다수의 권고가 포함돼 있으며, 여기에는 upload_attachment 계열의 경로 순회·임의 파일 읽기(CVE-2026-27825의 불완전 수정에 해당), GHSA-xjgw-4wvw-rgm4 우회로 인한 작업 디렉터리 내 모듈 덮어쓰기·RCE, SSRF 보호 우회, HTTP 트랜스포트 인증 우회(Critical), OAuth 콜백 반사형 XSS 등이 있다. 경로 검증과 SSRF 관련 취약점이 반복해서 보고된 이력인 만큼, 단발 패치가 아니라 경로 검증 설계 전반을 지속적으로 점검할 필요가 있다는 뜻이다.

Atlassian 공식 원격 MCP 서버와 sooperset mcp-atlassian의 구분

혼동하기 쉬운 부분이 이름의 유사성이다. Atlassian 공식 원격 MCP 서버는 Atlassian Cloud에서 호스팅되는 클라우드 브리지로 OAuth 2.1 또는 API 토큰 인증을 사용하며 Jira, Confluence, Jira Service Management, Bitbucket, Compass, Loom 등과 연결된다. 다만 해당 공식 문서 페이지에는 CVE-2026-124503에 대한 언급이 없어 이 취약점과의 관련 여부는 확인되지 않는다. CVE-2026-124503의 영향 판단은 자체적으로 배포·운영하는 sooperset mcp-atlassian 인스턴스의 버전과 실행 환경을 기준으로 한다.

확인되지 않은 부분: 익스플로잇 실사용 여부와 후속 확인 필요 사항

이 글의 시점(2026-11-11 기준)에서 다음 사항은 확인되지 않았다.

  • CVE-2026-124503의 CVSS 점수와 심각도 벡터는 수집된 자료 어디에도 존재하지 않는다.
  • 수집 자료에는 실행형 익스플로잇 코드, 실제 악용 사례, 구체적인 침해 지표가 담겨 있지 않다.
  • CVE 기록 원문, 관련 프로젝트 보안 권고(GHSA-qh7q-jmc7-rc7j), v0.24.1 릴리스 노트와 하드닝 PR 원문이 직접 수집되지 않아, 이 글의 버전 범위·취약 함수·수정 조건은 2차 정리 자료의 인용을 통해 확인된 값이다. 해당 2차 자료는 발행일 메타데이터가 비어 있고 AI 작성 리포트임을 스스로 명시하고 있으므로, 패치·차단 등 운영 의사결정 전 원문 교차 확인을 권한다.

CVE-2026-124503 취약점 대응의 우선순위는 명확하다. 0.24.0 이하 버전의 sooperset mcp-atlassian을 0.24.1로 업그레이드하고, 서버 프로세스의 CWD와 인증된 원격 호출자 범위, 파일 입출력 디렉터리 설정을 함께 점검한다.

댓글 남기기