Tailscale SSH 결함 11건, 기기 한 대만 뚫려도 root 권한 넘어갈 수 있다
선호 출처로 추가
선호 출처로 추가하면 Google 주요 뉴스에 위키트리 기사가 더 자주 표시됩니다.
Tailscale SSH에서 기기 1대 장악 시 다른 서버 root까지 번질 수 있다는 Tailworm 보고서 공개
11개 지적에 패치·CVE는 아직 없고 Tailscale은 수정

보안 연구자가 사설 네트워크(VPN) 서비스 Tailscale의 SSH 기능에서 기기 한 대만 장악당해도 접근 가능한 다른 서버의 root(최고 관리자) 권한까지 넘어갈 수 있다는 보고서를 공개했다. 사이버디온 랩스(Cyberdione Labs)의 에리카 윈디시(Erica Windisch)는 10월 25일(현지시각) 'Tailworm'이라는 이름의 보고서를 게재했다. 보고서가 짚은 문제는 모두 11건이다.
The Hacker News에 따르면 보고 시점까지 Tailscale은 보안 공지도 CVE(공통 취약점 식별번호)도 수정 버전도 내놓지 않았다. 다만 회사는 보고서를 인지하고 문제를 고치고 있다고 공개적으로 밝혔다. 실제 네트워크 공격이 아니라 실험실(랩) 환경의 테스트 결과라는 점은 짚어둘 필요가 있다.
공격에 필요한 조건은 ‘포트 포워딩’과 ‘발판 1개’
보고서가 설명한 공격에는 두 가지 전제가 있다. 하나는 Tailscale SSH가 포트 포워딩(접속 통로를 다른 곳으로 이어주는 기능)을 허용하도록 설정돼 있어야 한다는 점이다. 다른 하나는 공격자가 이미 네트워크 내 기기 한 대를 장악하고 있어야 하며, 그 기기가 접근 규칙상 대상 서버에 접속할 수 있어야 한다는 점이다.
Tailscale SSH는 일반 SSH 서버와 작동 방식이 다르다. 접속하는 사용자의 비밀번호나 키를 확인하는 대신 기기 자체를 식별하고, 접근 규칙 하나가 그 기기의 SSH 세션 허용 여부를 결정한다. 그래서 이 공격에는 탈취한 비밀번호나 키가 필요 없다고 보고서는 설명한다.
첫 발판은 Tailscale이 만들어주는 것이 아니다. 보고서는 취약한 웹 애플리케이션, 오염된 소프트웨어 패키지, 피싱, 유출된 로그인 정보 같은 흔한 경로로 확보할 수 있다고 본다. 사이버시큐리티뉴스(Cybersecurity News)가 인용한 보고서 내용으로는 Tailscale 네트워크의 모든 기기가 동료 기기 목록 전체를 받기 때문에, 한 대를 장악한 공격자는 가능한 표적을 모두 볼 수 있다.
가장 심각한 문제는 Tailscale SSH 서버가 tailscaled라는 백그라운드 프로그램 안에서 돌아간다는 구조와 맞닿아 있다. 이 프로그램은 기기에서 root 권한을 갖는다. 사용자가 도커(Docker) 같은 서비스가 쓰는 유닉스 소켓(로컬 통신 통로) 포워딩 권한을 가지면, 이 프로그램이 root 권한으로 소켓을 열거나 바꿔치기한다는 것이 보고서의 설명이다.

랩 실험: 암호 파일 열람에서 가짜 서버 등록까지
윈디시는 테스트를 단계별로 보여줬다. 대상은 Tailscale 1.104.2 버전과 headscale 0.29.5 버전이다. headscale은 일부 네트워크가 Tailscale 호스팅 서비스 대신 쓰는 자체 구축형 서버다. 사이버시큐리티뉴스 보도에 따르면 테스트 기간은 10월 22일부터 24일까지였고 The Hacker News는 이를 3일간의 랩 테스트로 전했다.
첫 번째 방식은 표준 SSH 포트 포워딩이다. 일반 세션을 열었을 뿐인데 root 권한으로 동작하는 Tailscale 프로세스가 root만 접근해야 할 시스템 소켓에 연결됐다. 랩에서는 거의 즉시 root 권한을 얻어 시스템 비밀번호 파일(/etc/shadow)을 읽었고, 관리자 권한 없이 이뤄졌다.
두 번째 방식은 root 소유 소켓을 공격자의 소켓으로 바꿔치기하는 것이다. 이렇게 하면 특정 서비스를 상대로 root 권한의 명령을 직접 실행할 수 있었다. 세 번째는 포워딩이 접근할 수 있는 파일을 제한하는 안전장치를 무력화하는 방식이다. 파일 경로를 검사하는 시점과 실제로 쓰는 시점 사이의 틈을 노린 경쟁 상태 공격이다.
세 번째 사슬은 랩에서 더 멀리 나아갔다. 새 기기를 등록할 때 쓰는 키를 가로챘고, 이 키로 공격자 자신의 장비를 신뢰받는 서버처럼 네트워크에 합류시켰다. 이 마지막 단계는 Tailnet Lock 기능을 켜지 않은 네트워크에서만 처음부터 끝까지 성공했다. 기능을 켠 네트워크에서는 필요한 비밀 값을 전송 중에 가로챘지만 마지막 단계는 완료하지 못했다.
‘웜처럼 번진다’는 주장, 반론도 나왔다
윈디시는 전체 결과를 ‘wormable(웜처럼 확산 가능)’하다고 표현한다. 랩에서는 장악된 기기 한 대가 접근 규칙이 허용하는 모든 기기로, 비밀번호·탈취한 키·사용자 조작 없이 단계당 1초도 걸리지 않고 퍼졌다는 것이다. 보고서는 이를 이렇게 정리했다. “the mesh converts one ordinary foothold into fleet-wide privileged access at machine speed.” 이 확산 속도는 실제 네트워크가 아니라 랩에서 측정한 값이다.
보고서가 확산을 막은 요소로 꼽은 것은 두 가지다. 접근 규칙을 출발지와 목적지 한 쌍 단위로 쓰면 그것만으로 확산이 멈췄다. 또 TPM이나 시큐어 enclave 같은 하드웨어에 묶인 기기 키도 효과가 있었다. 사이버시큐리티뉴스는 쌍 단위 규칙을 랩에서 통한 유일한 통제 수단으로 소개했다.
보고서를 읽은 일부 연구자는 ‘wormable’이라는 표현에 공개적으로 의문을 제기했다. 반대로 root 권한 탈취 자체는 심각하다고 평가한 연구자도 있다고 The Hacker News는 전했다. 사이버시큐리티뉴스는 스캐터드 스파이더 위협 행위자 프로필에 이 그룹이 Tailscale VPN을 이용해 환경 사이를 이동한 사례가 담겨 있다고 언급했다.
사용자 영향은 설정에 따라 갈린다
관리자가 취할 수 있는 조치는 네트워크를 어디서 운영하느냐에 따라 다르다. Tailscale 호스팅 서비스에서는 규칙별로 포워딩을 끌 수 있다. 반면 headscale 0.29.5에서는 포워딩을 아예 끌 수 없다. 보고서는 이 환경의 모든 SSH 허용 규칙을 대상 서버의 root 권한을 주는 것으로 간주해야 한다고 권고한다.
패치가 없으므로 현재 가능한 조치는 Tailscale SSH와 관련 기능의 설정 변경이다. SC미디어가 전한 내용으로는 Tailscale은 사용자에게 접근 규칙을 점검하고 SSH 확인 모드 활성화를 고려하라고 안내했다. 전문가들은 접근 규칙을 특정 출발지-목적지 쌍으로 제한하고 기기 보안을 탄탄히 유지하라고 강조했다.
11개 지적 중 SSH는 일부, 공개 방식 논란도
SSH 문제는 보고서의 11개 지적 중 하나다. 나머지는 Tailscale의 앱 커넥터, serve 기능, 기기 사이에서 쓰는 DERP 중계 서버, headscale까지 걸쳐 있다. 윈디시는 The Hacker News에 SSH 권한 상승이 “is worrying”이라면서도 앱 커넥터 문제가 일부 조직에는 “may be more impactful”일 수 있다고 말했다.
실험 기능인 conn25 앱 커넥터 문제는 허용된 사용자가 보안팀이 승인하지 않은 목적지로 트래픽을 보낼 수 있다는 내용이다. 서버 자격 증명을 내줄 수 있는 클라우드 업체의 메타데이터 서비스도 여기에 포함된다. 사이버시큐리티뉴스가 정리한 표에는 SSH 세션 반복으로 root 데몬 메모리가 고갈되는 문제(7초 만에 약 536MB 할당)와 DERP 클라이언트가 최대 1.34GB를 읽게 만들 수 있다는 지적도 담겼다.
모든 지적은 윈디시의 보고서 하나에 기반한다. 다른 연구자가 공개적으로 재현한 사례는 없고 Tailscale도 구체적 기술 주장을 확인하지 않았다. 개념 증명 코드는 공개되지 않았으며 Tailscale의 보안 연락처에만 전달됐다고 윈디시는 밝혔다.
공개 방식도 논쟁거리다. 윈디시는 Y 콤비네이터 해커 뉴스에 이 건을 ‘reported but not coordinated(보고는 했으나 조율은 없었다)’고 썼다. 그곳 댓글 작성자 한 명은 Tailscale에 먼저 알리지 않고 공개한 것은 무책임하다고 비판했다. 윈디시는 The Hacker News 질의에 공개 글 이전, 토요일에 보고서와 PoC를 회사 보안 연락처로 보냈다고 반박했다. 이전에 회사 최고경영자에게 아키텍처 우려를 전했고 파일 해시를 공개하며 Tailscale SSH 비활성화를 권고했다고도 설명했다.
Tailscale 측 입장과 이어지는 SSH 결함 수정
Tailscale의 마이크 셰이버 엔지니어링 부사장은 레딧에 글을 올렸다. 회사가 보고서를 받았고 외부 보안 전문가들과 이미 같은 영역을 살펴보던 중이었으며 고치는 중인 문제를 찾았다는 내용이다. 어떤 구성이 영향을 받는지는 아직 파악 중이라고 했다. 그는 “not recommending that everyone disable Tailscale SSH”라고 밝혀, 전면 비활성화는 권하지 않았다.
Tailscale SSH에서 비슷한 문제가 처음 나온 것은 아니다. The Hacker News는 올해 안에 Tailscale이 SSH와 서버 소켓 처리 결함 여럿을 고쳤다고 전했다. 여기에는 SSH 유닉스 소켓 포워딩이 권한 있는 소켓에 닿는 문제가 포함되며 수정은 버전 1.98.9에 담겼다.
사이버시큐리티뉴스에 따르면 7월에는 TS-2026-009도 수정됐다. 대시로 시작하는 사용자 이름이 리눅스 계정 조회에서 root 계정을 반환하게 만들 수 있었고, SSH 접근 권한을 가진 사용자가 접근 제어 규칙을 어기고 root 세션을 열 수 있었다. 이 수정도 1.98.9에 들어갔다. 이번 보고서의 수정 일정은 공개된 바 없다.