CVE-2021-28966: Windows 환경 Tempfile의 경로 탐색 취약점

Windows 환경에서 Ruby에 포함된 tmpdir 라이브러리에 의도하지 않은 디렉터리 생성 취약점이 있습니다. 또 Windows 환경에서 Ruby에 포함된 tempfile 라이브러리 역시 내부적으로 tmpdir을 사용하기 때문에 의도하지 않은 디렉터리 생성 취약점이 있습니다. 이 취약점은 CVE 번호 CVE-2021-28966에 할당되었습니다.

세부 내용

tmpdir 라이브러리의 Dir.mktmpdir 메서드는 생성할 디렉터리의 접두사와 접미사를 첫 번째 파라미터로 받습니다. 접두사는 디렉터리 상대 경로 지정자("..\\")를 포함할 수 있고, 그래서 이 메서드로 임의의 디렉터리를 지정할 수 있습니다. 그래서 스크립트가 외부 입력을 받아 접두사로 사용하면, 지정한 디렉터리의 권한이 부적절하거나 Ruby 프로세스가 부적절한 권한을 갖고 있는 경우, 공격자가 임의의 디렉터리에 디렉터리나 파일을 생성할 수 있습니다.

이는 CVE-2018-6914와 같은 문제지만, 이전 수정이 Windows에서 불완전했습니다.

해당 버전을 사용하는 모든 사용자는 즉시 업그레이드하기 바랍니다.

해당 버전

  • Ruby 2.7.2 이하
  • Ruby 3.0.0

도움을 준 사람

이 문제를 발견해 준 Bugdiscloseguys에게 감사를 표합니다.

수정 이력

  • 2021-04-05 12:00:00 (UTC) 최초 공개