작성자: usa (2018-03-28)
번역자: shia
루비의 String#unpack
메서드에서 공격자가 배열 범위 바깥을 읽을 수 있는 취약점이 발견되었습니다.
이 취약점은 CVE 아이디 CVE-2018-8778로 할당되었습니다.
세부 내용
String#unpack
은 인수로 포맷 식별자를 받으며, 식별자 @
를 사용해 지정한 위치의 데이터를 읽어올 수 있습니다.
이때 @
와 함께 커다란 숫자를 넘겨주는 경우, 그 숫자는 음수로 취급되어 문자열 범위 외의 데이터에 접근하는 것이 가능해집니다.
그러므로 외부 입력을 String#unpack
의 인수로 지정하는 경우, 공격자는 힙 상의 데이터를 읽을 수 있습니다.
해당 버전을 사용하는 모든 사용자는 즉시 업그레이드하기 바랍니다.
해당 버전
- 루비 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
- 리비전 62992 이전의 트렁크
도움을 준 사람
이 문제는 aerodudrizzt가 보고했습니다.
수정 이력
- 2018-03-28 23:00:00 (KST) 최초 공개