Git 취약점 살펴보기: 최신 수정 및 업데이트
널리 사용되는 분산 버전 제어 시스템인 Git에서 여러 보안 문제가 발견되었습니다. 우분투 보안팀은 우분투 24.04 LTS, 우분투 23.10, 우분투 22.04 LTS, 우분투 20.04 LTS 등 다양한 버전의 우분투 운영 체제에 대한 업데이트를 배포하여 Git 취약성을 선제적으로 해결했습니다.
우분투 업데이트에서 수정된 Git 취약점
2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 및 2.39.4 이전의 Git 버전에서 보안 결함이 발견되었습니다. 2.45.1, 2.44.1, 2.43.4, 2.42.2, 2.41.1, 2.40.2 및 2.39.4 버전에서 패치되었습니다.
CVE-2024-32002 (CVSS v3 점수: 9.0 심각)
서브모듈을 사용하는 리포지토리에 영향을 미치는 취약점이 Git에서 발견되었습니다. 공격자는 Git을 속여 복제 프로세스 중 중요한 위치에 악성 코드를 배치할 수 있습니다. 이를 통해 공격자는 사용자 모르게 복제 작업 중에 훅을 실행할 수 있습니다. Git에서 심볼릭 링크 지원을 비활성화(git config -global core.symlinks false 사용)하면 이 공격을 방지할 수도 있습니다.
CVE-2024-32004
이 취약점으로 인해 공격자는 로컬 리포지토리가 복제될 때 임의의 코드를 실행하는 방식으로 로컬 리포지토리를 만들 수 있습니다. 공격자는 이를 악용하여 시스템에서 권한이 없는 작업을 실행할 수 있습니다.
CVE-2024-32020
또 다른 Git 취약점은 하드 링크된 파일/디렉터리가 있는 로컬 클론의 잘못된 처리와 관련이 있습니다. 소스 리포지토리와 대상 리포지토리가 모두 같은 디스크에 있는 경우 로컬 클론이 파일을 대상 리포지토리의 오브젝트 데이터베이스에 하드 링크할 수 있는 것으로 밝혀졌습니다. 다른 사용자가 소스 리포지토리를 소유한 경우, 신뢰할 수 없는 사용자는 언제든지 하드링크된 파일을 다시 쓸 수 있었습니다. 로컬 리포지토리를 복제하려면 일반적으로 소스에서 대상 리포지토리로 파일을 복사하거나 하드 링크하여 프로세스 속도를 높이고 디스크 공간과 컴퓨팅 시간을 절약할 수 있습니다. 하지만 다른 사용자가 소유한 동일한 디스크의 리포지토리에서 복제를 하면 신뢰할 수 없는 사용자가 제어하는 하드링크가 생성되어 나중에 파일을 수정할 수 있게 될 수 있습니다.
CVE-2024-32021
파일 시스템을 통해 심볼릭 링크가 포함된 로컬 소스 리포지토리를 복제하면 Git이 대상 리포지토리의 `objects/` 디렉터리에 사용자가 읽을 수 있는 임의의 파일에 대한 하드 링크를 만들 수 있습니다. 로컬로 복제할 때 (`file://` 프로토콜을 지정하거나 `-no-local`을 사용하지 않고) Git은 오브젝트 파일을 복사하는 대신 하드 링크를 시도하여 프로세스를 최적화합니다. CVE-2022-39253을 해결하기 위해 추가된 소스 리포지토리의 심볼릭 링크에 대한 검사에도 불구하고 하드링크 작업이 심볼릭 링크를 따르는 경우 이러한 검사를 우회할 수 있습니다. 오브젝트가 검사 중에는 파일로 표시되지만 작업 중에는 심볼릭 링크로 표시되는 경우 공격자는 대상 `objects/` 디렉터리에 사용자가 읽을 수 있는 임의의 파일에 대한 하드 링크를 만들 수 있습니다.
CVE-2024-32465
이 문제는 CVE-2024-32004에서 해결되었습니다. 그러나 CVE-2024-32004의 수정 사항은 해당 컨텍스트 내에서 실행되도록 구성된 후크를 포함할 수 있는 전체 Git 리포지토리가 포함된 .zip 파일을 얻는 경우와 같은 모든 시나리오에 적용되지는 않을 수 있습니다. 이전의 복제된 리포지토리 취약점과 마찬가지로, 이 결함으로 인해 공격자는 임의의 코드를 실행할 수 있습니다.
완화 조치
이러한 취약점으로부터 시스템을 보호하려면 Git 패키지를 업그레이드하는 것이 중요합니다. 일반적으로 표준 시스템 업데이트를 수행하면 모든 필수 보안 패치가 구현됩니다. 우분투 24.04 LTS, 우분투 23.10, 우분투 22.04 LTS, 우분투 20.04 LTS를 실행하는 사용자는 이러한 수정 사항의 혜택을 받으려면 시스템을 업데이트해야 합니다.
수명이 다한 Ubuntu 시스템을 여전히 사용 중인 사용자 및 조직은 Ubuntu 16.04 및 Ubuntu 18.04에 대한 TuxCare의 수명 주기 연장 지원(ELS) 을 이용할 수 있습니다. 이 연장 지원은 EOL 날짜 이후 최대 5년 동안 모든 중요 보안 업데이트를 추가로 제공합니다.
결론
이러한 Git 취약점의 발견은 소프트웨어 보안에 있어 정기적인 시스템 업데이트와 경계의 중요성을 강조합니다. Git 패키지와 시스템을 최신 상태로 유지하면 잠재적인 익스플로잇으로부터 개발 환경을 보호하고 코드 리포지토리의 무결성과 보안을 유지할 수 있습니다. Git 프로젝트에서는 신뢰할 수 없는 리포지토리에서 직접 작업하지 않도록 권장하며 다음을 사용할 것을 제안합니다. git clone --no-local
를 클릭하여 깨끗한 사본을 얻으세요.
출처 USN-6793-1