파일을 덮어쓰거나 자신의 코드를 실행할 수 있는 Git의 취약성

Git 2.40.1, 2.39.3, 2.38.5, 2.37.7, 2.36.6, 2.35.8, 2.34.8, 2.33.8, 2.32.7, 2.31.8 및 2.30.9 패치가 분산 소스 코드 관리 시스템에 대해 릴리스되었습니다. 이러한 패치에서 5개의 취약점이 수정되었습니다. 다음 페이지에서 해당 배포판의 패키지 업데이트 릴리스를 추적할 수 있습니다. Debian, UbuntuRHEL, SUSE/openSUSE, Fedora, Arch, FreeBSD 등의 운영 체제에서 발생할 수 있는 취약점을 방지하기 위한 해결책으로, 검증되지 않은 외부 패치를 사용할 때는 "git apply --reject" 명령을 실행하지 않는 것이 좋으며, 신뢰할 수 없는 저장소를 사용할 때는 "git submodule deinit", "git config --rename-section", "git config --remove-section" 명령을 실행하기 전에 $GIT_DIR/config 디렉토리의 내용을 확인하는 것이 좋습니다.

취약점 CVE-2023-29007을 사용하면 $GIT_DIR/config 구성 파일의 설정을 대체할 수 있습니다. 이 설정은 core.pager, core.editor 및 core.sshCommand 지시문에서 실행 파일 경로를 지정하여 시스템에서 코드를 실행하는 데 사용할 수 있습니다. 해당 취약점은 구성 파일에서 섹션 이름을 바꾸거나 섹션을 삭제할 때 매우 긴 구성 값이 새 섹션의 시작 부분으로 처리될 수 있는 논리적 오류로 인해 발생합니다. 실제로는 초기화 중에 $GIT_DIR/config 파일에 저장되는 매우 긴 하위 모듈 URL을 지정하여 악용 값을 대체할 수 있습니다. 이러한 URL은 "git submodule deinit"를 통해 제거하려고 하면 새로운 설정으로 해석될 수 있습니다.

취약점 CVE-2023-25652로 인해 특수 제작된 패치가 "git apply --reject" 명령으로 처리될 때 작업 트리 외부의 파일 내용을 덮어쓸 수 있습니다. 심볼릭 링크를 통해 파일에 쓰기를 시도하는 "git apply" 명령으로 악성 패치를 실행하려고 하면 작업이 거부됩니다. Git 2.39.1에서는 심볼릭 링크를 생성하고 이를 통해 쓰기를 시도하는 패치를 차단하도록 심볼릭 링크 조작 방지 기능이 확장되었습니다. 고려 중인 취약점의 본질은 Git이 사용자가 "git apply -reject" 명령을 실행하여 패치의 거부된 부분을 ".rej" 확장자를 가진 파일로 쓸 수 있다는 점을 고려하지 않았다는 것입니다. 이 기회를 이용하여 현재 권한이 허용하는 한 임의의 디렉토리에 내용을 쓰십시오.

또한, 플랫폼별 취약점 세 가지가 수정되었습니다. WindowsCVE-2023-29012(Git CMD 명령 실행 시 저장소 작업 디렉터리에서 doskey.exe 실행 파일을 검색하여 사용자 시스템에서 코드 실행을 구성할 수 있도록 함), CVE-2023-25815(gettext에서 특수하게 조작된 지역화 파일을 처리할 때 버퍼 오버플로) 및 CVE-2023-29011(SOCKS5를 통해 작업할 때 connect.exe 파일이 교체될 가능성).

출처 : opennet.ru

DDoS 보호, VPS VDS 서버가 있는 사이트를 위한 안정적인 호스팅 구입 🔥 DDoS 공격 방지 기능이 탑재된 안정적인 웹사이트 호스팅, VPS 및 VDS 서버를 구매하세요 | ProHoster