루비에 내장된 라이브러리인 tmpdir에서 의도하지 않은 디렉터리를 생성하는 취약점이 발견되었습니다.
또한 내부에서 tmpdir를 사용하는 루비에 내장된 tempfile 라이브러리에서도 의도하지 않은 파일 생성 취약점이 발견되었습니다.
이 취약점은 CVE 아이디 [CVE-2018-6914](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-6914)로 할당되었습니다.

## 세부 내용

tmpdir 라이브러리에 의해 추가되는 `Dir.mktmpdir` 메서드는 생성할 디렉터리명의 접두사나 접미사를 첫 번째 매개변수로 받습니다.
접두사는 `"../"`와 같은 상대 경로를 포함할 수 있기 때문에 임의의 디렉터리를 대상으로 사용할 수 있습니다.
그러므로 외부 입력을 접두사로 사용하는 경우, 대상 디렉터리가 부적절한 권한을 가지고 있거나, 루비 프로세스가 부적절한 권한을 가지고 있다면 공격자는 임의의 디렉터리에 디렉터리나 파일을 생성할 수 있습니다.

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

## 해당 버전

* 루비 2.2 버전대: 2.2.9 이하
* 루비 2.3 버전대: 2.3.6 이하
* 루비 2.4 버전대: 2.4.3 이하
* 루비 2.5 버전대: 2.5.0 이하
* 루비 2.6 버전대: 2.6.0-preview1
* 리비전 62990 이전의 트렁크

## 도움을 준 사람

이 문제는 [ooooooo_q](https://hackerone.com/ooooooo_q)가 보고했습니다.

## 수정 이력

* 2018-03-28 23:00:00 (KST) 최초 공개
