Google, GitHub의 보안 결함 공개

Project Zero는 GitHub에서 심각한 보안 위반에 대한 세부 정보를 공개했습니다. 그리고 그들은 오류는 작업 워크 플로 명령에 영향을줍니다. GitHub에서 제공되며 심각도가 높은 것으로 설명됩니다. (이 버그는 90 월에 발견되었지만 표준 XNUMX 일 공개 기간을 기준으로 세부 정보는 지금 만 공개되었습니다.)

이 결함은 수정되지 않은 몇 안되는 취약점 중 하나가되었습니다. Google Project Zero에서 부여한 표준 90 일 기간이 만료되기 전에 적절하게

Felix Wilhelm에 따르면 (누가 발견했는지) Project Zero 팀원 인이 결함은 개발자의 작업을 자동화하는 도구 인 GitHub의 작업 기능에 영향을 미칩니다. 이는 Actions 워크 플로우 명령이 "주입 공격에 취약"하기 때문입니다.

“Actions Github는 Action 브로커와 실행 된 작업 사이의 통신 채널로 워크 플로우 명령이라는 기능을 지원합니다. 워크 플로 명령은 / src / Runner.Worker / ActionCommandManager.cs에서 구현되며 두 명령 마커 중 하나를 찾아 수행 된 모든 작업의 ​​STDOUT을 구문 분석하여 작동합니다.

언급 이 기능의 큰 문제는 인젝션 공격에 매우 취약하다는 것입니다. 실행 프로세스는 워크 플로 명령에 대해 STDOUT에 인쇄 된 모든 행을 스캔하기 때문에 실행의 일부로 신뢰할 수없는 콘텐츠를 포함하는 모든 GitHub 작업이 취약합니다.

대부분의 경우 임의의 환경 변수를 설정하는 기능으로 인해 다른 워크 플로가 실행되는 즉시 원격 코드가 실행됩니다. 저는 인기있는 GitHub 리포지토리를 살펴 보았으며 약간 복잡한 GitHub 작업을 사용하는 거의 모든 프로젝트가 이러한 종류의 버그에 취약합니다.

이어서, 버그가 어떻게 악용 될 수 있는지에 대한 몇 가지 예를 제공했습니다. 또한 해결책을 제안했습니다.

“이 문제를 해결하는 가장 좋은 방법이 무엇인지 잘 모르겠습니다. 워크 플로 명령이 구현되는 방식이 근본적으로 안전하지 않다고 생각합니다. v1 명령 구문을 감가 상각하고 허용 목록을 사용하여 strengthinget-env를 사용하면 직접 RCE 벡터에 대해 작동 할 수 있습니다.

“그러나 이후 단계에서 사용되는 '일반적인'환경 변수를 재정의하는 기능조차도 더 복잡한 작업을 활용하기에 충분할 것입니다. 작업 공간에있는 다른 컨트롤의 보안 영향도 분석하지 않았습니다.

그 위에, 좋은 장기 솔루션을 언급 STDOUT에 의한 구문 분석을 피하기 위해 워크 플로 명령을 별도의 채널 (예 : 새 파일 설명자)로 이동하는 것이지만 이로 인해 많은 기존 작업 코드가 손상됩니다.

GitHub의 경우 개발자들은 1 월 2020 일에 권고를 게시하고 취약한 명령을 폐기했지만 Wilhelm이 발견 한 것은 실제로 "보통 보안 취약성"이라고 주장했습니다. GitHub는 버그 식별자 CVE-15228-XNUMX을 할당했습니다.

“GitHub Actions 런타임에서 신뢰할 수없는 데이터를 STDOUT에 기록하는 워크 플로에 경로 및 환경 변수를 삽입 할 수있는 중간 수준의 보안 취약성이 확인되었습니다. 이로 인해 워크 플로 작성자의 의도없이 환경 변수가 도입되거나 수정 될 수 있습니다.

“이 문제를 해결하고 환경 변수를 동적으로 설정할 수 있도록 워크 플로에서 환경 및 경로 업데이트를 처리 할 수있는 새로운 파일 세트를 도입했습니다.

“자체 호스팅 브로커를 사용하는 경우 버전 2.273.1 이상으로 업데이트해야합니다.

Wilhelm에 따르면 12 월 14 일 Project Zero는 GitHub에 연락하여 GitHub가 취약한 명령을 비활성화하는 데 더 많은 시간을 원할 경우 사전에 19 일 창을 제공했습니다. 물론 제안이 수락되었고 GitHub는 2 월 XNUMX 일 이후 취약한 명령을 비활성화하기를 희망했습니다. 그런 다음 Project Zero는 XNUMX 월 XNUMX 일의 새로운 공개 날짜를 설정합니다.

출처 : https://bugs.chromium.org


코멘트를 첫번째로 올려

코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.