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

Python의 tarfile 모듈 패스 트래버서 버그

로라 바하이드
게시됨 Oct 03, 2022
마지막 업데이트: 2026년 3월 10일

최근 한 팀의 보안 연구원들이 Python의 tar 파일 추출 기능에서 15년 전의 버그가 발견되었다고 발표했습니다. 이 취약점은 2007년에 처음 공개되었으며 CVE-2007-4559로추적되었습니다. Python 공식 문서에는 주의 사항이 추가되었지만, 버그 자체는 패치되지 않은 채로 남아 있었습니다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 상황과 대처 방법에 익숙하지 않습니다. 바로 그 이유로, 여기 시큐어 코드 워리어에서는이 취약점의 악용을 직접 시뮬레이션하여 영향을 직접 확인하고, 이 지속적인 버그의 작동 방식을 실제로 체험할 기회를 제공합니다. 이를 통해 애플리케이션 보호를 강화할 수 있습니다.

시뮬레이션해 보자 미션 지금.

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

파일 경로 탐색 또는 디렉터리 트래버설은 검증되지 않은 사용자 입력을 사용하여 파일 경로를 생성할 때 발생하며, 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python의 tar 파일 모듈에 존재합니다. tar(테이프 아카이브) 파일은 아카이브라고 불리는 단일 파일입니다. 이는 여러 파일과 해당 메타데이터를 함께 패키징한 것으로, 일반적으로 tar.gz 또는 tgz 확장자를 가집니다. 아카이브 내 각 멤버는 TAR 정보 객체에 파일명, 수정 시간, 소유권 등의 메타데이터를 포함합니다.

위험은 아카이브를 다시 추출할 수 있다는 점에 기인합니다.

추출 시에는 모든 멤버에게 쓰기 가능한 경로가 필요합니다. 이 위치는 베이스 경로와 파일명을 결합하여 생성됩니다.

Python 스니펫 Tarfile.py


이 경로가 생성되면, tar 파일. 추출 또는 tar 파일. 모두 추출 추출을 수행하는 함수:

Python 스니펫 Tarfile.py

여기서 문제는 파일명이 안전하게 처리되지 않았다는 점입니다. 공격자는 다음과 같은 경로 탐색 문자 (.. /) 포함하도록 파일 이름을 변경할 수 있습니다. 이로 인해 파일은 원래 위치에서 이동되어 임의의 파일을 덮어쓸 수 있습니다. 결국 원격 코드 실행이 가능해져 악용되기 쉬운 취약점이 발생합니다.

취약점은 특정 방법이 알려져 있다면 다른 시나리오에서도 발생합니다. Python을 통한 tar 파일 처리 외에도, 이 취약점은 zip 파일 추출 시에도 나타납니다. 이는 다른 이름으로도 잘 알려져 있을 수 있습니다. 예를 들어, zip slip 취약점은 Python이외의 언어에서도발견되었습니다!

미션 링크 

어떻게 하면 위험을 줄일 수 있나요?

이 취약점은 수년 전부터 알려져 있었지만, Python 유지보수 담당자들은 추출 기능이 본래 해야 할 일을 수행하기를 기대하고 있습니다. 이 경우 "버그가 아니라 기능이다"라고 말하는 사람도 있을 수 있습니다. 안타깝게도 개발자가 알 수 없는 출처의 tar 파일이나 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로 신뢰할 수 없는 입력을 정제하여 경로 탐색 취약점을 방지하는 것은 개발자의 몫입니다.

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

우리의 무료 파이썬 챌린지를경험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 확인해 보세요. Secure Code Coach는 안전한 코딩 방법을 항상 파악하는 데 도움이 됩니다.

리소스 표시
리소스 표시

오늘, 퍼시픽 파크는 파이썬의 타르타르 그라다에 15년 전의 이상한 점을 발견했습니다. 2007년 가을 신문, CVE-2007-4559까지. 파이썬의 리빙 니니니니 뿅뿅뿅 사다 마마스.

더 관심이 있으신가요?

더 알아보세요

Secure Code Warrior는 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 구축하는 데 도움을 드립니다. 애플리케이션 보안 관리자, 개발자, CISO 또는 보안 담당자이든, 안전하지 않은 코드와 관련된 위험을 줄이는 데 도움을 드립니다.

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

로라 베르헤이데는 Secure Code Warrior의 소프트웨어 개발자로, 미션 랩과 코딩 랩을 위한 취약점 조사 및 콘텐츠 제작에 주력하고 있습니다.

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

최근 한 팀의 보안 연구원들이 Python의 tar 파일 추출 기능에서 15년 전의 버그가 발견되었다고 발표했습니다. 이 취약점은 2007년에 처음 공개되었으며 CVE-2007-4559로추적되었습니다. Python 공식 문서에는 주의 사항이 추가되었지만, 버그 자체는 패치되지 않은 채로 남아 있었습니다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 상황과 대처 방법에 익숙하지 않습니다. 바로 그 이유로, 여기 시큐어 코드 워리어에서는이 취약점의 악용을 직접 시뮬레이션하여 영향을 직접 확인하고, 이 지속적인 버그의 작동 방식을 실제로 체험할 기회를 제공합니다. 이를 통해 애플리케이션 보호를 강화할 수 있습니다.

시뮬레이션해 보자 미션 지금.

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

파일 경로 탐색 또는 디렉터리 트래버설은 검증되지 않은 사용자 입력을 사용하여 파일 경로를 생성할 때 발생하며, 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python의 tar 파일 모듈에 존재합니다. tar(테이프 아카이브) 파일은 아카이브라고 불리는 단일 파일입니다. 이는 여러 파일과 해당 메타데이터를 함께 패키징한 것으로, 일반적으로 tar.gz 또는 tgz 확장자를 가집니다. 아카이브 내 각 멤버는 TAR 정보 객체에 파일명, 수정 시간, 소유권 등의 메타데이터를 포함합니다.

위험은 아카이브를 다시 추출할 수 있다는 점에 기인합니다.

추출 시에는 모든 멤버에게 쓰기 가능한 경로가 필요합니다. 이 위치는 베이스 경로와 파일명을 결합하여 생성됩니다.

Python 스니펫 Tarfile.py


이 경로가 생성되면, tar 파일. 추출 또는 tar 파일. 모두 추출 추출을 수행하는 함수:

Python 스니펫 Tarfile.py

여기서 문제는 파일명이 안전하게 처리되지 않았다는 점입니다. 공격자는 다음과 같은 경로 탐색 문자 (.. /) 포함하도록 파일 이름을 변경할 수 있습니다. 이로 인해 파일은 원래 위치에서 이동되어 임의의 파일을 덮어쓸 수 있습니다. 결국 원격 코드 실행이 가능해져 악용되기 쉬운 취약점이 발생합니다.

취약점은 특정 방법이 알려져 있다면 다른 시나리오에서도 발생합니다. Python을 통한 tar 파일 처리 외에도, 이 취약점은 zip 파일 추출 시에도 나타납니다. 이는 다른 이름으로도 잘 알려져 있을 수 있습니다. 예를 들어, zip slip 취약점은 Python이외의 언어에서도발견되었습니다!

미션 링크 

어떻게 하면 위험을 줄일 수 있나요?

이 취약점은 수년 전부터 알려져 있었지만, Python 유지보수 담당자들은 추출 기능이 본래 해야 할 일을 수행하기를 기대하고 있습니다. 이 경우 "버그가 아니라 기능이다"라고 말하는 사람도 있을 수 있습니다. 안타깝게도 개발자가 알 수 없는 출처의 tar 파일이나 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로 신뢰할 수 없는 입력을 정제하여 경로 탐색 취약점을 방지하는 것은 개발자의 몫입니다.

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

우리의 무료 파이썬 챌린지를경험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 확인해 보세요. Secure Code Coach는 안전한 코딩 방법을 항상 파악하는 데 도움이 됩니다.

리소스 표시
리소스 표시

보고서를 다운로드하려면 아래 양식을 작성해 주세요.

당사 제품 및/또는 관련 보안 코딩 주제에 관한 정보를 발송할 수 있도록 허락해 주십시오. 당사는 고객의 개인정보를 항상 세심한 주의를 기울여 처리하며, 마케팅 목적으로 타사에 판매하지 않습니다.

발신
scw 성공 아이콘
scw 오류 아이콘
양식을 제출하려면 '분석' 쿠키를 활성화해 주세요. 설정이 완료되면 다시 비활성화해도 됩니다.

최근 한 팀의 보안 연구원들이 Python의 tar 파일 추출 기능에서 15년 전의 버그가 발견되었다고 발표했습니다. 이 취약점은 2007년에 처음 공개되었으며 CVE-2007-4559로추적되었습니다. Python 공식 문서에는 주의 사항이 추가되었지만, 버그 자체는 패치되지 않은 채로 남아 있었습니다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 상황과 대처 방법에 익숙하지 않습니다. 바로 그 이유로, 여기 시큐어 코드 워리어에서는이 취약점의 악용을 직접 시뮬레이션하여 영향을 직접 확인하고, 이 지속적인 버그의 작동 방식을 실제로 체험할 기회를 제공합니다. 이를 통해 애플리케이션 보호를 강화할 수 있습니다.

시뮬레이션해 보자 미션 지금.

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

파일 경로 탐색 또는 디렉터리 트래버설은 검증되지 않은 사용자 입력을 사용하여 파일 경로를 생성할 때 발생하며, 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python의 tar 파일 모듈에 존재합니다. tar(테이프 아카이브) 파일은 아카이브라고 불리는 단일 파일입니다. 이는 여러 파일과 해당 메타데이터를 함께 패키징한 것으로, 일반적으로 tar.gz 또는 tgz 확장자를 가집니다. 아카이브 내 각 멤버는 TAR 정보 객체에 파일명, 수정 시간, 소유권 등의 메타데이터를 포함합니다.

위험은 아카이브를 다시 추출할 수 있다는 점에 기인합니다.

추출 시에는 모든 멤버에게 쓰기 가능한 경로가 필요합니다. 이 위치는 베이스 경로와 파일명을 결합하여 생성됩니다.

Python 스니펫 Tarfile.py


이 경로가 생성되면, tar 파일. 추출 또는 tar 파일. 모두 추출 추출을 수행하는 함수:

Python 스니펫 Tarfile.py

여기서 문제는 파일명이 안전하게 처리되지 않았다는 점입니다. 공격자는 다음과 같은 경로 탐색 문자 (.. /) 포함하도록 파일 이름을 변경할 수 있습니다. 이로 인해 파일은 원래 위치에서 이동되어 임의의 파일을 덮어쓸 수 있습니다. 결국 원격 코드 실행이 가능해져 악용되기 쉬운 취약점이 발생합니다.

취약점은 특정 방법이 알려져 있다면 다른 시나리오에서도 발생합니다. Python을 통한 tar 파일 처리 외에도, 이 취약점은 zip 파일 추출 시에도 나타납니다. 이는 다른 이름으로도 잘 알려져 있을 수 있습니다. 예를 들어, zip slip 취약점은 Python이외의 언어에서도발견되었습니다!

미션 링크 

어떻게 하면 위험을 줄일 수 있나요?

이 취약점은 수년 전부터 알려져 있었지만, Python 유지보수 담당자들은 추출 기능이 본래 해야 할 일을 수행하기를 기대하고 있습니다. 이 경우 "버그가 아니라 기능이다"라고 말하는 사람도 있을 수 있습니다. 안타깝게도 개발자가 알 수 없는 출처의 tar 파일이나 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로 신뢰할 수 없는 입력을 정제하여 경로 탐색 취약점을 방지하는 것은 개발자의 몫입니다.

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

우리의 무료 파이썬 챌린지를경험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 확인해 보세요. Secure Code Coach는 안전한 코딩 방법을 항상 파악하는 데 도움이 됩니다.

온라인 세미나 보기
시작하자
더 알아보세요

아래 링크를 클릭하여 이 자료의 PDF를 다운로드하십시오.

Secure Code Warrior는 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 구축하는 데 도움을 드립니다. 애플리케이션 보안 관리자, 개발자, CISO 또는 보안 담당자이든, 안전하지 않은 코드와 관련된 위험을 줄이는 데 도움을 드립니다.

보고서 표시데모 예약
리소스 표시
공유:
링크드인 브랜드사회적x 로고
더 관심이 있으신가요?

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

로라 베르헤이데는 Secure Code Warrior의 소프트웨어 개발자로, 미션 랩과 코딩 랩을 위한 취약점 조사 및 콘텐츠 제작에 주력하고 있습니다.

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

최근 한 팀의 보안 연구원들이 Python의 tar 파일 추출 기능에서 15년 전의 버그가 발견되었다고 발표했습니다. 이 취약점은 2007년에 처음 공개되었으며 CVE-2007-4559로추적되었습니다. Python 공식 문서에는 주의 사항이 추가되었지만, 버그 자체는 패치되지 않은 채로 남아 있었습니다.

이 취약점은 수천 개의 소프트웨어 프로젝트에 영향을 미칠 수 있지만, 많은 사람들이 상황과 대처 방법에 익숙하지 않습니다. 바로 그 이유로, 여기 시큐어 코드 워리어에서는이 취약점의 악용을 직접 시뮬레이션하여 영향을 직접 확인하고, 이 지속적인 버그의 작동 방식을 실제로 체험할 기회를 제공합니다. 이를 통해 애플리케이션 보호를 강화할 수 있습니다.

시뮬레이션해 보자 미션 지금.

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

파일 경로 탐색 또는 디렉터리 트래버설은 검증되지 않은 사용자 입력을 사용하여 파일 경로를 생성할 때 발생하며, 공격자가 파일에 접근하여 덮어쓰거나 임의의 코드를 실행할 수 있습니다.

이 취약점은 Python의 tar 파일 모듈에 존재합니다. tar(테이프 아카이브) 파일은 아카이브라고 불리는 단일 파일입니다. 이는 여러 파일과 해당 메타데이터를 함께 패키징한 것으로, 일반적으로 tar.gz 또는 tgz 확장자를 가집니다. 아카이브 내 각 멤버는 TAR 정보 객체에 파일명, 수정 시간, 소유권 등의 메타데이터를 포함합니다.

위험은 아카이브를 다시 추출할 수 있다는 점에 기인합니다.

추출 시에는 모든 멤버에게 쓰기 가능한 경로가 필요합니다. 이 위치는 베이스 경로와 파일명을 결합하여 생성됩니다.

Python 스니펫 Tarfile.py


이 경로가 생성되면, tar 파일. 추출 또는 tar 파일. 모두 추출 추출을 수행하는 함수:

Python 스니펫 Tarfile.py

여기서 문제는 파일명이 안전하게 처리되지 않았다는 점입니다. 공격자는 다음과 같은 경로 탐색 문자 (.. /) 포함하도록 파일 이름을 변경할 수 있습니다. 이로 인해 파일은 원래 위치에서 이동되어 임의의 파일을 덮어쓸 수 있습니다. 결국 원격 코드 실행이 가능해져 악용되기 쉬운 취약점이 발생합니다.

취약점은 특정 방법이 알려져 있다면 다른 시나리오에서도 발생합니다. Python을 통한 tar 파일 처리 외에도, 이 취약점은 zip 파일 추출 시에도 나타납니다. 이는 다른 이름으로도 잘 알려져 있을 수 있습니다. 예를 들어, zip slip 취약점은 Python이외의 언어에서도발견되었습니다!

미션 링크 

어떻게 하면 위험을 줄일 수 있나요?

이 취약점은 수년 전부터 알려져 있었지만, Python 유지보수 담당자들은 추출 기능이 본래 해야 할 일을 수행하기를 기대하고 있습니다. 이 경우 "버그가 아니라 기능이다"라고 말하는 사람도 있을 수 있습니다. 안타깝게도 개발자가 알 수 없는 출처의 tar 파일이나 zip 파일을 추출하는 것을 항상 피할 수 있는 것은 아닙니다. 안전한 개발 관행의 일환으로 신뢰할 수 없는 입력을 정제하여 경로 탐색 취약점을 방지하는 것은 개발자의 몫입니다.

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

우리의 무료 파이썬 챌린지를경험해 보세요.

무료 코딩 가이드라인을 더 얻고 싶다면, 확인해 보세요. Secure Code Coach는 안전한 코딩 방법을 항상 파악하는 데 도움이 됩니다.

목차

PDF 다운로드
리소스 표시
더 관심이 있으신가요?

더 알아보세요

Secure Code Warrior는 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 구축하는 데 도움을 드립니다. 애플리케이션 보안 관리자, 개발자, CISO 또는 보안 담당자이든, 안전하지 않은 코드와 관련된 위험을 줄이는 데 도움을 드립니다.

데모 예약[다운로드]
공유:
링크드인 브랜드사회적x 로고
리소스 허브

시작하기 위한 리소스

기타 게시물
리소스 허브

시작하기 위한 리소스

기타 게시물