Google ADK TypeScript의 FileArtifactService에서 발생한 CVE-2026-105772 취약점은 공격자가 조작된 userId와 sessionId 값을 사용하면 인증 없이도 시스템 내 임의 파일을 읽거나 쓸 수 있게 합니다. 심각한 위험이 따릅니다.
CVE-2026-105772 취약점 개요
Google ADK TypeScript(@google/adk) 패키지의 FileArtifactService 구성 요소에서 경로 순회(Path Traversal, CWE-22) 취약점이 발견되었습니다. 파일 시스템 경로를 처리할 때 입력값을 제대로 검증하지 않아, 공격자가 조작된 입력값으로 의도하지 않은 파일 경로에 접근할 수 있게 됩니다.
심각성 평가도 매우 높습니다. GitHub Advisory Database는 [GHSA-r3pf-g3mr-cmr7]로 이 취약점을 ‘Critical’ 심각도로 등록했고, 2026년 10월 20일 관련 내용을 공개했습니다.
기술적 원인 및 영향 범위
1. 취약점 발생 원인 및 공격 메커니즘
핵심은 FileArtifactService가 사용자 입력 userId와 sessionId를 처리하는 방식에 있습니다. 공격자가 이 값에 경로 구분자, 퍼센트 인코딩, 널 바이트 등을 섞은 조작 문자열을 넣으면 시스템은 이를 단순한 식별자가 아니라 파일 경로의 일부로 해석해 버립니다.
그 결과 공격자는 다음과 같은 행위가 가능해집니다:
- 임의 파일 읽기: 시스템 내 민감한 설정 파일이나 데이터 파일을 무단으로 열어볼 수 있습니다.
- 임의 파일 쓰기: 서버의 임의 경로에 파일을 만들거나 기존 파일을 덮어써 시스템 설정을 바꾸거나 악성 코드를 심을 수 있습니다.
- 인증 우회: 이 과정 전체에 별도 인증 절차가 없다는 점에서 위험은 더 커집니다.
2. 영향 범위 및 예외 사항
모든 Google ADK TypeScript 환경이 이번 취약점에 노출되지는 않습니다. 위험 여부는 아티팩트 저장소를 어떻게 구성했는지에 따라 갈립니다.
| 구성 요소/서비스 | 영향 여부 | 상태 및 특이사항 |
|---|---|---|
| FileArtifactService (비기본 저장소) | 영향 있음 | 조작된 userId/sessionId를 통한 임의 파일 접근 가능 |
| 기본 인메모리(in-memory) 아티팩트 서비스 | 영향 없음 | 공식적으로 영향이 없는 것으로 확인됨 |
기본 설정인 인메모리 서비스를 쓰는 환경은 안전합니다. 반면 파일 시스템 기반의 비기본 아티팩트 저장소를 구성해 사용하는 시스템 관리자와 개발자라면 즉시 조치가 필요합니다.
대응 방안 및 수정 버전(@google/adk 0.6.0)
Google은 이 취약점을 해결하는 보안 업데이트를 배포했습니다. 수정 사항은 PR #210에 반영됐고, @google/adk 0.6.0 버전에서 공식적으로 해결됐습니다.
1. 기술적 수정 사항
수정 버전은 입력값 검증을 화이트리스트 방식으로 강화했습니다. userId와 sessionId 값에는 다음 제한이 적용됩니다:
- 허용 문자: 영숫자, 언더바(
_), 하이픈(-), 마침표(.), 앳 기호(@)뿐입니다. - 차단 대상: 경로 구분자, 퍼센트 인코딩, 널 바이트 등 경로 순회를 노리는 특수 문자는 원천 차단합니다.
이 화이트리스트가 적용되면서 입력값으로 파일 시스템 경로를 조작하려던 공격 시도는 무력화됐습니다.
2. 권장 조치 단계
시스템 관리자와 보안 담당자가 거쳐야 할 단계는 다음과 같습니다:
- 버전 확인: 현재 사용 중인
@google/adk패키지 버전을 먼저 확인합니다. - 업데이트 수행: 취약점이 해결된
0.6.0버전 이상으로 바로 올립니다. - 구성 점검: 비기본 아티팩트 저장소를 쓰는 환경인지 확인한 뒤, 업데이트 후에 화이트리스트 검증이 정상 작동하는지 살펴봅니다.
탐지 및 점검 포인트
보안 담당자는 시스템에서 다음 징후나 설정이 있는지 점검합니다.
- 입력값 패턴 분석:
userId또는sessionId파라미터에 비정상 경로 문자열이 섞여 있는지 로그를 살핍니다. - 파일 변경 확인: 임의 파일 읽기/쓰기 가능성이 있는 만큼 시스템 내 파일 변경 여부도 점검합니다.
- 버전 점검: 현재 사용 중인
@google/adk패키지 버전이 0.6.0 미만인지 확인합니다.
이번 CVE-2026-105772 취약점은 Critical 등급입니다. 파일 시스템 기반 저장소를 사용하는 기업의 보안 담당자와 개발자라면 특히 신속하게 최신 버전으로 업데이트해 임의 파일 읽기 및 쓰기 위험을 제거하는 것이 우선입니다.