CVE-2024-27281: RDoc에서 .rdoc_options 사용 시의 RCE 취약점

RCE 취약점에 대한 보안 수정이 포함된 RDoc gem 버전 6.3.4.1, 6.4.1.1, 6.5.1.1과 6.6.3.1을 릴리스했습니다. 이 취약점에는 CVE 식별자 CVE-2024-27281이 할당되었습니다.

세부 내용

Ruby 3.x부터 3.3.0까지 함께 배포된 RDoc 6.3.3부터 6.6.2까지 문제가 발견되었습니다.

(RDoc 설정에 사용되는) .rdoc_options를 YAML 파일로 파싱할 때, 복원할 수 있는 클래스에 대한 제한이 없기 때문에, 객체 주입 및 그로 인한 원격 코드 실행이 가능합니다.

문서 캐시를 읽어올 때도 조작된 캐시가 있을 경우, 객체 주입 및 그로 인한 원격 코드 실행이 가능합니다.

권장 조치

RDoc gem을 6.6.3.1이나 그 이상으로 업데이트하는 것이 좋습니다. 이전 Ruby 버전대에 포함된 버전과의 호환성을 보장하기 위해 다음과 같이 업데이트할 수 있습니다.

  • Ruby 3.0 사용자: rdoc 6.3.4.1로 업데이트
  • Ruby 3.1 사용자: rdoc 6.4.1.1로 업데이트
  • Ruby 3.2 사용자: rdoc 6.5.1.1로 업데이트

gem update rdoc를 사용하여 업데이트할 수 있습니다. bundler를 사용하는 경우 gem "rdoc", ">= 6.6.3.1"Gemfile에 추가하세요.

주의: 6.3.4, 6.4.1, 6.5.1, 6.6.3은 부정확한 수정을 포함하고 있습니다. 이 대신 6.3.4.1, 6.4.1.1, 6.5.1.1, 6.6.3.1로 업데이트하세요.

해당 버전

  • Ruby 3.0.6과 그 이하
  • Ruby 3.1.4와 그 이하
  • Ruby 3.2.3과 그 이하
  • Ruby 3.3.0
  • RDoc gem 6.3.3과 그 이하, 수정된 버전(6.3.4, 6.4.1, 6.5.1)을 제외한 6.4.0부터 6.6.2까지

도움을 준 사람

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

수정 이력

  • 2024-03-21 04:00:00 (UTC) 최초 공개