CVE-2019-16255: Shell#[] 및 Shell#test의 코드 주입 취약점

표준 라이브러리(lib/shell.rb)의 Shell#[] 및 Shell#test에서 코드 주입 취약점이 발견되었습니다. 이 취약점은 CVE 아이디 CVE-2019-16255가 할당되었습니다.

세부 내용

lib/shell.rb에 정의된 Shell#[]과 그 별칭 Shell#test는 첫 번째 인자(즉, ‘커맨드’ 인자)가 신뢰할 수 없는 데이터일 경우 코드 주입을 허용하게 됩니다. 공격자는 이를 악용해 임의의 루비 메서드를 호출할 수 있습니다.

일반적으로 Shell의 메서드에 신뢰할 수 없는 데이터를 넘기는 것은 위험합니다. 사용자는 절대 이러한 일을 해서는 안됩니다. 하지만 이번 경우엔 Shell#[] 및 Shell#test의 목적이 파일 테스트라는 점을 고려해 취약점으로 분류했습니다.

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

해당 버전

  • 루비 2.3 이하의 모든 버전
  • 루비 2.4 버전대: 루비 2.4.7 이하
  • 루비 2.5 버전대: 루비 2.5.6 이하
  • 루비 2.6 버전대: 루비 2.6.4 이하
  • 루비 2.7.0-preview1

감사의 글

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

수정 이력

  • 2019-10-01 11:00:00 (UTC) 최초 공개
  • 2019-10-05 12:00:00 (UTC) 사소한 철자 수정