메인 콘텐츠로 건너뛰기
블로그 안전 Linode 보안 다이제스트 2022년 10월 30일 – 11월 6

리노드 보안 다이제스트 2022년 10월 30일 – 11월 6일

리노드 시큐리티 다이제스트

이번 주 다이제스트에서 우리는 다음에 대해 논의 할 것입니다 :

  • OpenSSL 버전 3.0.0 보안 권고;
  • Sqlite 배열 경계 오버플로 취약점; 그리고
  • GitHub 리포재킹 공격.

오픈슬 보안 권고

OpenSSL 3.0.0은 최근 CVE-2022-3602 및 CVE-2022-3786의 두 가지 취약점을 해결했습니다. 

중요(9.8/10) 등급의 CVE-2022-3602에는 DoS 또는 코드 실행으로 이어질 수 있는 4바이트 스택 버퍼 오버플로가 포함됩니다. 악용에 성공하려면 대상이 악성 인증서의 X509 인증서 유효성 검사, 특히 이름 제약 조건 검사를 수행해야 합니다. 공격자는 악성 이메일 주소를 만들어 스택에서 공격자가 제어하는 4바이트를 오버플로할 수 있습니다. 즉, 공격은 일반적으로 최신 운영 체제에서 사용하도록 설정된 스택 오버플로 보호로 인해 좌절될 수 있습니다. 이 취약점은 처음에 OpenSSL에 의해 중요한 것으로 설명되었으며 추가 분석을 통해 심각도가 높음으로 다운그레이드되었습니다. 작성 당시 기본 점수는 9.8 (중요)입니다.  

높은 등급(7.5/10)인 CVE-2022-3786은 악성 TLS 인증서에 의해 트리거되는 또 다른 버퍼 오버플로입니다. 앞서 언급한 취약점과 유사하게 이 공격은 공격자가 악성 이메일 주소로 인증서를 만드는 것을 수반합니다. 차이점은 오버플로를 일으키는 데 사용할 수 있는 문자에 있으며, 이 문자는 '.' 문자(10진수 46)로 제한되어 서비스 충돌 또는 서비스 거부로 이어집니다. 

OpenSSL 3.0을 활용하는 사용자는 가능한 한 빨리 최신 버전으로 업그레이드하는 것이 좋습니다. 이 블로그 게시물 은 사용자가 해당 환경에서 사용 중인 취약한 버전의 라이브러리가 있는지 여부를 확인하는 데 유용할 수 있습니다.  

Sqlite 배열 경계 오버플로 취약점

TrailofBits는 인기있는 DBMS 라이브러리에서 심각도가 높은 취약점을 공개했습니다. Sqlite는 최근 패치되었습니다. 이 취약점에 할당 된 CVE는 CVE-2022-35737 이며 등급은 7.5 / 10입니다.  

이 취약점은 SQLite 1.0.12부터 3.39.x 이전 3.39.2까지에서 배열 오버플로이며 SQLite 라이브러리를 사용하는 애플리케이션에 영향을 미칩니다. API. SQLite가 컴파일되는 방식에 따라 악용 가능성은 달라지며, 스택 카나리아를 활성화하지 않고 프로그램을 컴파일할 경우 코드 실행이 가능합니다. 이 취약점은 2000년 10월 17일에 릴리스된 v1.0.12에 도입되었습니다. 

출처에 따르면 "취약한 시스템에서 CVE-2022-35737은 큰 문자열 입력이 printf 함수의 SQLite 구현에 전달되고 형식 문자열에 %Q, %q 또는 %w 형식 대체 유형이 포함된 경우 악용될 수 있습니다." 이렇게 하면 공격 노출 영역과 응용 프로그램이 이 취약점을 통해 실제로 악용될 가능성이 줄어들지만 사용자가 구성 요소 사용 컨텍스트 내에서 위험을 평가하는 것이 좋습니다.   

패치 된 SQLite 버전 v3.39.2는 사용자가 응용 프로그램에서 업그레이드 할 수 있습니다. 취약한 SQLite 라이브러리를 사용하는 도구에 의존하는 사용자는 코드 유지 관리자로부터 패치가 해제 될 때까지 기다려야합니다. Trailofbits는 GitHub에서 찾을 수있는 익스플로잇 POC도 출시했습니다.  

깃허브 리포재킹

Checkmarx 는 github.com 에서 호스팅되는 코드 저장소를 표적으로 삼아 공급망을 공격하는 또 다른 방법을 공개했습니다. 이 공격을 리포재킹이라고 하며 이러한 유형의 공격에 대해 Microsoft에서 설정한 기존 보안 제어를 우회하여 리포지토리를 탈취하는 작업이 포함됩니다. 이 컨트롤을 "popular-repository-namespace-retirement"라고 하며, 기본적으로 GitHub 사용자는 사용자 이름 변경까지 1주일 이내에 리포지토리에 100개 이상의 복제본이 있는 경우 동일한 사용자 이름을 가진 비활성화된 사용자가 이전에 사용한 이름과 일치하는 이름으로 리포지토리를 만들 수 없습니다. checkmarx가 2021년에 유사한 취약점을 공개한 후 GitHub에 의해 완화 조치로 구현되었습니다. 

새로운 공격은 리포지토리 전송이라는 github 기능을 활용하여 완화를 우회합니다. 공격을 추구하는 방법은 다음과 같습니다.

  1. "피해자/리포지토리"는 "인기 있는 리포지토리 네임스페이스 사용 중지" 보호에 따라 사용 중지된 인기 있는 GitHub 리포지토리입니다.
  2. "helper_account"은 "저장소"저장소를 만듭니다.
  3. "helper_account"은 "저장소"저장소의 소유권을 "attacker_account"로 이전합니다.
  4. "attacker_account"은 사용자 이름을 "피해자"로 변경합니다.
  5. 새 "피해자" 계정(이전의 "attacker_account")은 소유권 이전을 수락하고 기본적으로 대상 저장소를 인수합니다.

이 취약점에 대한 수정 프로그램이 적용되었습니다. Checkmarx는 또한 이러한 유형의 공격에 취약할 수 있는 골랑 직접 종속성을 확인하는 도구를 출시했습니다. 


내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *