컨텐츠 바로가기

    12.06 (토)

    러스트 라이브러리에서 원격 코드 실행 취약점 발견…즉시 패치·대체 포크 전환 권고

    댓글 첫 댓글을 작성해보세요
    주소복사가 완료되었습니다

    러스트 언어 기반으로 프로젝트를 개발하는 개발자와, 러스트 기반 애플리케이션을 운영하는 정보기술 관리자는 최근 발견된 심각한 보안 취약점에 주목해야 한다.


    에데라(Edera) 연구진은 비동기 타르(async-tar) 라이브러리에서 발견된 중요한 경계 파싱 오류를 보고했다. 해당 취약점은 TARmageddon(CVE-2025-62518)으로 명명되었으며, 토키오타르(tokio-tar) 등 다수의 포크 라이브러리에도 영향을 미친다.


    보고서에 따르면, 이 취약점의 심각도는 8.1점(높음)으로 평가되며, 구성 파일 교체나 빌드 백엔드 탈취를 포함한 파일 덮어쓰기 공격을 통해 원격 코드 실행이 가능하다. 또한 공급망 공격 형태로 감염이 확산될 가능성도 있다.


    연구진은 “이 문제는 uv(애스트럴의 파이썬 패키지 관리자), 테스트컨테이너, 와즘클라우드(wasmCloud) 등 주요 프로젝트에 광범위하게 영향을 미친다”며, “활성화된 모든 포크에 대한 신속한 패치 적용이 필요하다”고 권고했다.


    토키오타르는 여전히 패치되지 않은 상태이며, 현재는 활동이 중단된 프로젝트로 보인다. 연구진은 “토키오타르의 광범위한 활용 특성상, 이번 결함이 생태계 전체에 미치는 영향 범위를 사전에 정확히 산출하기 어렵다”고 밝혔다.


    에데라는 토키오타르를 사용하는 개발자에게 활발히 유지·보수되는 포크인 ‘astral-tokio-tar’ 0.5.6 이상 버전으로 이전할 것을 권장했다.


    또한 러스트 기반 애플리케이션을 운영하는 관리자는 자사 시스템을 점검해 해당 라이브러리를 사용하는 서비스가 존재하는지 확인해야 한다.


    왜 심각한가?

    타르 아카이브는 유닉스·리눅스 계열 시스템에서 여러 디렉터리와 파일을 보관·배포하기 위해 사용된다. 아카이브는 원본의 전체 디렉터리 구조와 메타데이터를 보존하므로 백업이나 소스 코드 배포에 빈번히 활용된다. 이 점을 고려하면 특정 버전의 타르 라이브러리 구현 방식에 따라 잠재적 취약성이 발생할 수 있다.


    캐나다 침해사고 대응 업체 디지털디펜스(DigitalDefence) 책임자 로버트 베그스는 이메일 코멘트에서 이렇게 설명했다. “최악의 경우 공격자가 호스트 시스템에서 임의 코드를 실행할 수 있으며, 구성 파일·빌드 스크립트 덮어쓰기 등 악의적 행동을 수행할 수 있다.” 아카이브를 추출하는 모든 시스템이 위험해질 수 있다는 점도 지적했다.


    특히 문제의 타르 라이브러리가 활발히 유지·관리되지 않는 애플리케이션의 구성 요소로 포함되어 있을 가능성이 높아, 패치나 완화 작업에서 누락될 우려가 크다. 베그스는 “광범위하게 사용되는 토키오타르의 경우 활동 중단으로 패치가 적용되지 않을 가능성이 높다”고 경고했다.


    현재까지 공격 활용 사례는 보고되지 않았지만, 심각도 8.1(높음)이라는 점을 고려하면 공격자 관심을 빠르게 끌 가능성이 크다.


    권고사항

    보안 담당자는 다음 조치를 우선 수행해야 한다.


    • - 코드 감사로 토키오타르(tokio-tar)의 포크나 래퍼 의존성을 식별하고, 해당 구성 요소에도 패치가 적용되었는지 확인한다.
    • - 지속적 통합·지속적 배포(CI/CD) 환경과 컨테이너 이미지에서 타르 파일 사용 여부를 검토하고, 관련 라이브러리 패치를 적용한다.
    • - 아카이브 처리 시 격리 환경을 마련하고, 신뢰할 수 없는 소스의 타르 파일 추출을 금지한다.
    • - 해당 라이브러리와 연관된 추가 취약성·공격 징후를 지속 모니터링한다.

    관리자 참고용으로 애스트럴 시큐리티(Astral Security)가 공개한 권고문도 유용하다. 해당 권고문은 애스트럴 토키오타르(astral-tokio-tar)의 문제 설명과 패치 정보를 제공한다.


    해당 결함은 7월에 발견되어 관련 라이브러리 유지관리자, 러스트 재단, 일부 주요 프로젝트에 통보되었다. 세부 내용은 이번 주에 공개하기로 합의했다.


    가장 인기 있는 포크인 토키오타르(다운로드 수 500만 회 이상, crates.io 기준)가 사실상 활동 중단 상태로 판단되어, 에데라가 복잡한 포크 계보 전반에 걸쳐 분산형 공개 절차를 조정했다.


    가능한 공격 시나리오

    에데라가 제시한 여러 감염 경로는 다음과 같다.


    • - 파이썬 패키지 관리자 공격 : 공격자가 악성 패키지를 공개 저장소(PyPI)에 업로드한다. 외부 개발자가 이를 다운로드하면 외부 타르의 정상 파일 뒤에 숨겨진 내부 타르가 악성 파일을 포함해 빌드 백엔드를 탈취한다. 결과적으로 테스트 환경이 오염되고 공급망 전체가 위협받는다.
    • - 스캔·승인 분리 프로세스 우회 : 보안 스캐너가 외부의 ‘깨끗한’ 타르만 분석·승인한 뒤, 취약한 라이브러리로 추출 과정에서 승인되지 않은 추가 파일이 끼어들어 보안 통제를 우회한다.

    시사점

    러스트 언어는 메모리 안전성을 강조하지만, 에데라 연구진은 “TARmageddon 발견은 러스트가 모든 문제의 해결책이 아님을 상기시킨다”고 지적했다. 해당 결함은 논리적 파싱 오류에 해당하므로, 프로그래밍 언어 차원의 안전성만으로 모든 취약성을 차단할 수 없다는 점이 드러났다.


    또한 유지관리되지 않는 오픈소스 라이브러리 의존성의 위험성이 다시 한 번 확인되었다. 개발 기업은 외부 라이브러리의 유지·보수 상태를 주기적으로 점검하고, 활동 중단 포크 사용시 대체 포크로의 전환이나 직접 유지·관리 방안을 마련해야 한다.


    기술적 원인과 공격 메커니즘

    해당 결함은 비동기 타르 계열 라이브러리의 동기 불일치 오류에 기인한다. 에데라에 따르면, 문제는 중첩된 타르 파일을 처리할 때 발생하며, PAX 확장 헤더와 ustar 헤더 사이에 특정 불일치가 존재하면 추가 아카이브 항목을 은닉해 ‘밀수’할 수 있다.


    근본 원인은 파서가 파일 데이터 경계를 결정하는 논리에서 일관성이 결여되어 있다는 점이다. 이로 인해 정상적으로 보이는 외부 아카이브를 검사·승인한 뒤, 추출 단계에서 예상치 못한 내부 항목이 유입되어 시스템 제어를 우회할 수 있다.


    에데라는 구체적 감염 시나리오로 다음과 같은 사례를 제시했다.


    • - 패키지 레지스트리 공급망 오염 : 악성 패키지를 공개 저장소에 업로드하면, 개발자들이 다운로드한 정상 아카이브 안에 숨겨진 내부 타르가 빌드 백엔드를 장악한다. 결과적으로 테스트·빌드 환경이 오염되어 전파가 발생한다.
    • - 스캔·승인 분리 프로세스 우회 : 보안 스캐너가 외부 아카이브만 검사해 승인을 내리면, 취약한 파서로 추출할 때 승인되지 않은 추가 파일이 끼어들어 보안 통제 우회가 발생한다.

    언어적 한계와 실무적 교훈

    러스트 언어는 메모리 안전성을 핵심 가치로 제시하지만, 에데라 연구진은 “TARmageddon 발견은 러스트가 모든 취약점을 자동으로 제거하지 못함을 보여준다”고 지적했다. 이 결함은 논리적 파싱 오류로 분류되며, 프로그래밍 언어 수준의 안전 장치만으로 모든 클래스의 취약성을 차단할 수 없다는 점을 환기했다.


    또한 보고서는 유지보수 중단 오픈소스 라이브러리 의존의 위험을 강조했다. 기업은 외부 라이브러리의 유지·보수 상태를 정기적으로 점검하고, 활동 중단 포크 사용 시 대체 포크로 전환하거나 직접 유지·관리하는 절차를 마련해야 한다.


    이번 취약점은 타르 아카이브 처리 로직의 미세한 불일치가 시스템 보안 전체에 중대한 영향을 미칠 수 있음을 보여주었다. 개발 기업과 운영 기업은 의존성 감사, 패치 적용, 아카이브 처리 격리, 모니터링 강화 등을 통해 잠재적 위험을 조속히 완화해야 한다.


    dl-itworldkorea@foundryco.com



    Howard Solomon editor@itworld.co.kr
    저작권자 Foundry & ITWorld, 무단 전재 및 재배포 금지

    기사가 속한 카테고리는 언론사가 분류합니다.
    언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.