루비의 부가 라이브러리인 Net::FTP에 공격자가 임의의 명령을 실행할 수 있는 취약점이 발견되었습니다.
이 취약점은 CVE 아이디 [CVE-2017-17405](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-17405)로 할당되었습니다.

## 세부 내용

`Net::FTP#get`, `getbinaryfile`, `gettextfile`, `put`, `putbinaryfile`,
`puttextfile`은 `Kernel#open`을 사용해 로컬에 있는 파일을 엽니다. 하지만 `localfile`
인수가 파이프문자 `"|"`로 시작하는 경우, 파이프 문자 뒤에 오는 명령을 실행하게 됩니다.
`localfile`의 기본값은 `File.basename(remotefile)`이므로 악의적인 FTP 서버는
임의의 명령을 실행시킬 수 있습니다.

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

## 해당 버전

* 루비 2.2 버전대: 2.2.8 이하
* 루비 2.3 버전대: 2.3.5 이하
* 루비 2.4 버전대: 2.4.2 이하
* 루비 2.5 버전대: 2.5.0-preview1
* 리비전 61242 이전의 트렁크

## 도움을 준 사람

이 문제는 Heroku 제품 보안 팀의 Etienne Stalmans가 보고했습니다.

## 수정 이력

* 2017-12-15 01:00:00 (KST) 최초 공개
