SCW 아이콘
영웅 배경, 구분선 없음
블로그

Python의 tar 파일 모듈에서 경로 탐색 오류를 이해하세요

로라 베르헤이드
게시됨 Oct 03, 2022
마지막 업데이트: 2026년 3월 6일

최근 한 보안 연구팀이 파이썬의 tar 파일 추출 기능에서 15년 전 발견된 오류를 공개했다. 이 취약점은 2007년 처음 보고되었으며 CVE-2007-4559로 등록되었다. 파이썬 공식 문서에는 관련 설명이 추가되었으나, 오류 자체는 수정되지 않았다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 이 상황이나 대처 방법을 잘 알지 못합니다. 그래서 여기 Secure Code Warrior에서는 여러분이 직접 이 취약점을 악용하는 과정을 시뮬레이션해 볼 수 있는 기회를 제공합니다. 이를 통해 직접적인 영향을 확인하고, 이 지속적인 오류의 메커니즘에 대한 실무 경험을 쌓아 애플리케이션을 더 효과적으로 보호할 수 있도록 돕습니다!

지금 바로 미션 모의고사를 체험해 보세요.

취약점: tar 파일 추출 중 경로 탐색

경로 또는 디렉터리 탐색은 사용자의 입력값을 제대로 처리하지 않은 상태로 파일 경로를 구성할 때 발생합니다. 이로 인해 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python 타르 파일 모듈에 존재합니다. 타르 파일(테이프 파일)은 파일이라는 단일 파일입니다. 여러 파일을 메타데이터와 함께 결합하며, 일반적으로 .tar.gz 또는 .tgz 확장자로 인식됩니다. 파일의 각 구성원은 파일 이름, 수정 시간, 소유권 등과 같은 메타데이터를 포함하는 TAR 정보 객체로 표현될 수 있습니다.

위험은 파일이 다시 추출될 수 있는 능력에서 비롯됩니다.

추출 시 각 구성원은 쓰기용 경로가 필요합니다. 이 위치는 기본 경로와 파일 이름을 결합하여 생성됩니다:

Python 조각 Tarfile.py


이 경로가 생성되면 tar.extract 파일로 o archivo tar.extractall 함수를 사용하여 추출을 수행합니다:

Python 조각 Tarfile.py

여기서 문제는 파일 이름에 대한 소독이 부족하다는 점입니다. 공격자는 파일 이름을 변경하여 경로를 역추적하는 문자 (예: ../ ) 포함시킬 수 있습니다. 이로 인해 파일이 원래 위치했던 디렉터리를 벗어나 임의의 파일을 덮어쓸 수 있습니다. 결국 이는 원격 코드 실행으로 이어질 수 있으며, 이는 악용될 준비가 된 취약점입니다.

취약점은 다른 시나리오에서도 나타납니다. 이를 식별하는 방법을 안다면 말이죠. Python의 tar 파일 처리 외에도, zip 파일 추출 과정에서 취약점이 존재합니다. 여러분은 이를 'zip slip 취약점'이라는 다른 이름으로 알고 있을 수도 있습니다. 이 취약점은 Python 외에도 다른 언어에서도 발견된 바 있습니다!

미션 링크 

위험을 어떻게 완화할 수 있습니까?

이 취약점이 수년 전부터 알려져 있음에도 불구하고, 파이썬 유지보수자들은 추출 기능이 의도된 대로 작동한다고 간주합니다. 이 경우 일부는 "이는 기능이지 오류가 아니다"라고 말할 수 있습니다. 안타깝게도 개발자들은 알 수 없는 출처의 tar 또는 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로, 신뢰할 수 없는 정보를 소독하여 취약점이 경로를 벗어나지 않도록 해야 하는 것은 바로 그들입니다.

파이썬으로 안전한 코드를 작성하고 위험을 완화하는 방법에 대해 더 알아보고 싶으신가요?

무료로 제공되는 Python 챌린지를 체험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 안전한 코딩 관행을 파악하는 데 도움이 되는 안전한 코드 트레이너를 참조하세요.

리소스 보기
리소스 보기

최근 한 보안 연구팀이 파이썬의 tar 파일 추출 기능에서 15년 전 발견된 오류를 재발견했다고 발표했다. 이 취약점은 2007년에 처음 발견되어 CVE-2007-4559로 등록되었다. 파이썬 공식 문서에는 관련 설명이 추가되었으나, 오류 자체는 수정되지 않았다.

더 알고 싶으신가요?

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약하기
공유하기:
링크드인 브랜드사회적x 로고
저자
로라 베르헤이드
게시일: Oct 03, 2022

Laura Verheyde는 Secure Code Warrior 의 소프트웨어 개발자로서 취약점을 연구하고 Missions 및 코딩 연구소의 콘텐츠를 제작하는 데 주력하고 있습니다.

공유하기:
링크드인 브랜드사회적x 로고

최근 한 보안 연구팀이 파이썬의 tar 파일 추출 기능에서 15년 전 발견된 오류를 공개했다. 이 취약점은 2007년 처음 보고되었으며 CVE-2007-4559로 등록되었다. 파이썬 공식 문서에는 관련 설명이 추가되었으나, 오류 자체는 수정되지 않았다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 이 상황이나 대처 방법을 잘 알지 못합니다. 그래서 여기 Secure Code Warrior에서는 여러분이 직접 이 취약점을 악용하는 과정을 시뮬레이션해 볼 수 있는 기회를 제공합니다. 이를 통해 직접적인 영향을 확인하고, 이 지속적인 오류의 메커니즘에 대한 실무 경험을 쌓아 애플리케이션을 더 효과적으로 보호할 수 있도록 돕습니다!

지금 바로 미션 모의고사를 체험해 보세요.

취약점: tar 파일 추출 중 경로 탐색

경로 또는 디렉터리 탐색은 사용자의 입력값을 제대로 처리하지 않은 상태로 파일 경로를 구성할 때 발생합니다. 이로 인해 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python 타르 파일 모듈에 존재합니다. 타르 파일(테이프 파일)은 파일이라는 단일 파일입니다. 여러 파일을 메타데이터와 함께 결합하며, 일반적으로 .tar.gz 또는 .tgz 확장자로 인식됩니다. 파일의 각 구성원은 파일 이름, 수정 시간, 소유권 등과 같은 메타데이터를 포함하는 TAR 정보 객체로 표현될 수 있습니다.

위험은 파일이 다시 추출될 수 있는 능력에서 비롯됩니다.

추출 시 각 구성원은 쓰기용 경로가 필요합니다. 이 위치는 기본 경로와 파일 이름을 결합하여 생성됩니다:

Python 조각 Tarfile.py


이 경로가 생성되면 tar.extract 파일로 o archivo tar.extractall 함수를 사용하여 추출을 수행합니다:

Python 조각 Tarfile.py

여기서 문제는 파일 이름에 대한 소독이 부족하다는 점입니다. 공격자는 파일 이름을 변경하여 경로를 역추적하는 문자 (예: ../ ) 포함시킬 수 있습니다. 이로 인해 파일이 원래 위치했던 디렉터리를 벗어나 임의의 파일을 덮어쓸 수 있습니다. 결국 이는 원격 코드 실행으로 이어질 수 있으며, 이는 악용될 준비가 된 취약점입니다.

취약점은 다른 시나리오에서도 나타납니다. 이를 식별하는 방법을 안다면 말이죠. Python의 tar 파일 처리 외에도, zip 파일 추출 과정에서 취약점이 존재합니다. 여러분은 이를 'zip slip 취약점'이라는 다른 이름으로 알고 있을 수도 있습니다. 이 취약점은 Python 외에도 다른 언어에서도 발견된 바 있습니다!

미션 링크 

위험을 어떻게 완화할 수 있습니까?

이 취약점이 수년 전부터 알려져 있음에도 불구하고, 파이썬 유지보수자들은 추출 기능이 의도된 대로 작동한다고 간주합니다. 이 경우 일부는 "이는 기능이지 오류가 아니다"라고 말할 수 있습니다. 안타깝게도 개발자들은 알 수 없는 출처의 tar 또는 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로, 신뢰할 수 없는 정보를 소독하여 취약점이 경로를 벗어나지 않도록 해야 하는 것은 바로 그들입니다.

파이썬으로 안전한 코드를 작성하고 위험을 완화하는 방법에 대해 더 알아보고 싶으신가요?

무료로 제공되는 Python 챌린지를 체험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 안전한 코딩 관행을 파악하는 데 도움이 되는 안전한 코드 트레이너를 참조하세요.

리소스 보기
리소스 보기

다음 양식을 작성하여 보고서를 다운로드하십시오.

귀하의 허락을 받아 당사 제품 또는 안전한 암호화 관련 주제에 대한 정보를 보내드리고자 합니다. 귀하의 개인정보는 항상 최대한 신중하게 처리하며, 마케팅 목적으로 타사에 판매하지 않을 것을 약속드립니다.

보내기
scw 성공 아이콘
scw 오류 아이콘
양식을 보내려면 '분석' 쿠키를 활성화하세요. 완료 후에는 언제든지 다시 비활성화해도 됩니다.

최근 한 보안 연구팀이 파이썬의 tar 파일 추출 기능에서 15년 전 발견된 오류를 공개했다. 이 취약점은 2007년 처음 보고되었으며 CVE-2007-4559로 등록되었다. 파이썬 공식 문서에는 관련 설명이 추가되었으나, 오류 자체는 수정되지 않았다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 이 상황이나 대처 방법을 잘 알지 못합니다. 그래서 여기 Secure Code Warrior에서는 여러분이 직접 이 취약점을 악용하는 과정을 시뮬레이션해 볼 수 있는 기회를 제공합니다. 이를 통해 직접적인 영향을 확인하고, 이 지속적인 오류의 메커니즘에 대한 실무 경험을 쌓아 애플리케이션을 더 효과적으로 보호할 수 있도록 돕습니다!

지금 바로 미션 모의고사를 체험해 보세요.

취약점: tar 파일 추출 중 경로 탐색

경로 또는 디렉터리 탐색은 사용자의 입력값을 제대로 처리하지 않은 상태로 파일 경로를 구성할 때 발생합니다. 이로 인해 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python 타르 파일 모듈에 존재합니다. 타르 파일(테이프 파일)은 파일이라는 단일 파일입니다. 여러 파일을 메타데이터와 함께 결합하며, 일반적으로 .tar.gz 또는 .tgz 확장자로 인식됩니다. 파일의 각 구성원은 파일 이름, 수정 시간, 소유권 등과 같은 메타데이터를 포함하는 TAR 정보 객체로 표현될 수 있습니다.

위험은 파일이 다시 추출될 수 있는 능력에서 비롯됩니다.

추출 시 각 구성원은 쓰기용 경로가 필요합니다. 이 위치는 기본 경로와 파일 이름을 결합하여 생성됩니다:

Python 조각 Tarfile.py


이 경로가 생성되면 tar.extract 파일로 o archivo tar.extractall 함수를 사용하여 추출을 수행합니다:

Python 조각 Tarfile.py

여기서 문제는 파일 이름에 대한 소독이 부족하다는 점입니다. 공격자는 파일 이름을 변경하여 경로를 역추적하는 문자 (예: ../ ) 포함시킬 수 있습니다. 이로 인해 파일이 원래 위치했던 디렉터리를 벗어나 임의의 파일을 덮어쓸 수 있습니다. 결국 이는 원격 코드 실행으로 이어질 수 있으며, 이는 악용될 준비가 된 취약점입니다.

취약점은 다른 시나리오에서도 나타납니다. 이를 식별하는 방법을 안다면 말이죠. Python의 tar 파일 처리 외에도, zip 파일 추출 과정에서 취약점이 존재합니다. 여러분은 이를 'zip slip 취약점'이라는 다른 이름으로 알고 있을 수도 있습니다. 이 취약점은 Python 외에도 다른 언어에서도 발견된 바 있습니다!

미션 링크 

위험을 어떻게 완화할 수 있습니까?

이 취약점이 수년 전부터 알려져 있음에도 불구하고, 파이썬 유지보수자들은 추출 기능이 의도된 대로 작동한다고 간주합니다. 이 경우 일부는 "이는 기능이지 오류가 아니다"라고 말할 수 있습니다. 안타깝게도 개발자들은 알 수 없는 출처의 tar 또는 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로, 신뢰할 수 없는 정보를 소독하여 취약점이 경로를 벗어나지 않도록 해야 하는 것은 바로 그들입니다.

파이썬으로 안전한 코드를 작성하고 위험을 완화하는 방법에 대해 더 알아보고 싶으신가요?

무료로 제공되는 Python 챌린지를 체험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 안전한 코딩 관행을 파악하는 데 도움이 되는 안전한 코드 트레이너를 참조하세요.

웹 세미나 보기
시작하다
더 알아보세요

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

보고서 보기데모 예약하기
리소스 보기
공유하기:
링크드인 브랜드사회적x 로고
더 알고 싶으신가요?

공유하기:
링크드인 브랜드사회적x 로고
저자
로라 베르헤이드
게시일: Oct 03, 2022

Laura Verheyde는 Secure Code Warrior 의 소프트웨어 개발자로서 취약점을 연구하고 Missions 및 코딩 연구소의 콘텐츠를 제작하는 데 주력하고 있습니다.

공유하기:
링크드인 브랜드사회적x 로고

최근 한 보안 연구팀이 파이썬의 tar 파일 추출 기능에서 15년 전 발견된 오류를 공개했다. 이 취약점은 2007년 처음 보고되었으며 CVE-2007-4559로 등록되었다. 파이썬 공식 문서에는 관련 설명이 추가되었으나, 오류 자체는 수정되지 않았다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 이 상황이나 대처 방법을 잘 알지 못합니다. 그래서 여기 Secure Code Warrior에서는 여러분이 직접 이 취약점을 악용하는 과정을 시뮬레이션해 볼 수 있는 기회를 제공합니다. 이를 통해 직접적인 영향을 확인하고, 이 지속적인 오류의 메커니즘에 대한 실무 경험을 쌓아 애플리케이션을 더 효과적으로 보호할 수 있도록 돕습니다!

지금 바로 미션 모의고사를 체험해 보세요.

취약점: tar 파일 추출 중 경로 탐색

경로 또는 디렉터리 탐색은 사용자의 입력값을 제대로 처리하지 않은 상태로 파일 경로를 구성할 때 발생합니다. 이로 인해 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python 타르 파일 모듈에 존재합니다. 타르 파일(테이프 파일)은 파일이라는 단일 파일입니다. 여러 파일을 메타데이터와 함께 결합하며, 일반적으로 .tar.gz 또는 .tgz 확장자로 인식됩니다. 파일의 각 구성원은 파일 이름, 수정 시간, 소유권 등과 같은 메타데이터를 포함하는 TAR 정보 객체로 표현될 수 있습니다.

위험은 파일이 다시 추출될 수 있는 능력에서 비롯됩니다.

추출 시 각 구성원은 쓰기용 경로가 필요합니다. 이 위치는 기본 경로와 파일 이름을 결합하여 생성됩니다:

Python 조각 Tarfile.py


이 경로가 생성되면 tar.extract 파일로 o archivo tar.extractall 함수를 사용하여 추출을 수행합니다:

Python 조각 Tarfile.py

여기서 문제는 파일 이름에 대한 소독이 부족하다는 점입니다. 공격자는 파일 이름을 변경하여 경로를 역추적하는 문자 (예: ../ ) 포함시킬 수 있습니다. 이로 인해 파일이 원래 위치했던 디렉터리를 벗어나 임의의 파일을 덮어쓸 수 있습니다. 결국 이는 원격 코드 실행으로 이어질 수 있으며, 이는 악용될 준비가 된 취약점입니다.

취약점은 다른 시나리오에서도 나타납니다. 이를 식별하는 방법을 안다면 말이죠. Python의 tar 파일 처리 외에도, zip 파일 추출 과정에서 취약점이 존재합니다. 여러분은 이를 'zip slip 취약점'이라는 다른 이름으로 알고 있을 수도 있습니다. 이 취약점은 Python 외에도 다른 언어에서도 발견된 바 있습니다!

미션 링크 

위험을 어떻게 완화할 수 있습니까?

이 취약점이 수년 전부터 알려져 있음에도 불구하고, 파이썬 유지보수자들은 추출 기능이 의도된 대로 작동한다고 간주합니다. 이 경우 일부는 "이는 기능이지 오류가 아니다"라고 말할 수 있습니다. 안타깝게도 개발자들은 알 수 없는 출처의 tar 또는 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로, 신뢰할 수 없는 정보를 소독하여 취약점이 경로를 벗어나지 않도록 해야 하는 것은 바로 그들입니다.

파이썬으로 안전한 코드를 작성하고 위험을 완화하는 방법에 대해 더 알아보고 싶으신가요?

무료로 제공되는 Python 챌린지를 체험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 안전한 코딩 관행을 파악하는 데 도움이 되는 안전한 코드 트레이너를 참조하세요.

목차

PDF 다운로드
리소스 보기
더 알고 싶으신가요?

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약하기다운로드
공유하기:
링크드인 브랜드사회적x 로고
자원 센터

시작하기 위한 자료

더 많은 게시물
자원 센터

시작하기 위한 자료

더 많은 게시물