Rails CVE-2025-55193 및 CVE-2025-24293 분석

Rails CVE-2025-55193 and CVE-2025-24293 | Greg Molnar

작성자
Ruby Weekly
발행일
2025년 06월 16일

핵심 요약

  • 1 최근 공개된 Rails의 두 가지 주요 보안 취약점(CVE-2025-55193, CVE-2025-24293)에 대한 상세 분석 및 잠재적 악용 가능성을 다룹니다.
  • 2 CVE-2025-55193은 Active Record 로깅 메커니즘의 ANSI 이스케이프 주입 취약점으로, 특정 터미널 환경에서 원격 코드 실행(RCE)으로 이어질 수 있습니다.
  • 3 CVE-2025-24293은 Active Storage의 안전하지 않은 이미지 변환 문제로, `image_processing` gem과 `mini_magick` 사용 시 임의 파일 생성 및 다른 취약점과의 연계 가능성을 내포합니다.

도입

본 문서는 최근 발견된 두 가지 중요한 Ruby on Rails 보안 취약점, CVE-2025-55193과 CVE-2025-24293에 대한 심층 분석을 제공합니다. 이 두 취약점은 Rails 애플리케이션의 보안에 중대한 영향을 미칠 수 있으며, 개발자들이 반드시 인지하고 적절한 대응 방안을 마련해야 할 필요성을 강조합니다. 각 취약점의 작동 방식, 악용 시나리오, 그리고 잠재적 위험성에 대해 상세히 탐구합니다.

1. CVE-2025-55193: Active Record 로깅의 ANSI 이스케이프 주입

이 취약점은 Active Record의 로깅 메커니즘에서 발생하는 ANSI 이스케이프 주입 문제입니다. ANSI 이스케이프 문자는 터미널에서 텍스트 색상을 변경하거나 터미널 동작을 제어하는 데 사용되는 특수 문자입니다. 공격자가 악성 이스케이프 문자를 Rails 로그에 삽입하고, 취약한 터미널에서 해당 로그를 읽을 경우 원격 코드 실행(RCE)이 발생할 수 있습니다.

  • 작동 방식: 공격자는 URL의 ID와 같은 사용자 제어 입력 필드에 악성 문자열 페이로드를 주입하여 Rails 로그를 오염시킬 수 있습니다. 예를 들어, ActiveRecord::RecordNotFound 오류 메시지에 악성 이스케이프 시퀀스가 포함될 수 있습니다.
  • 악용 시나리오: \e]2;ping google.com \a\e]2;?\a와 같은 페이로드는 특정 터미널 에뮬레이터에서 터미널 제목을 변경하는 대신 ping google.com 명령을 실행할 수 있습니다. 이는 RCE 외에도 피싱 공격이나 로그 내 페이로드 숨김에 사용될 수 있습니다.
  • 영향: 모든 터미널에서 RCE가 가능한 것은 아니지만, 일부 취약한 터미널에서는 심각한 보안 위협이 됩니다.

2. CVE-2025-24293: Active Storage의 안전하지 않은 변환

이 취약점은 image_processing gem이 mini_magick을 이미지 프로세서로 사용하고, 사용자 제어 문자열을 이미지 변환 인자로 직접 전달하는 애플리케이션에 영향을 미칩니다. 이는 임의 파일 생성으로 이어질 수 있습니다.

  • 취약한 코드 예시: image_tag blob.variant(resize: params[:dimensions])와 같이 params[:dimensions]와 같은 사용자 입력이 resize 옵션에 직접 전달될 때 발생합니다.
  • 악용 시나리오: 공격자가 dimensions[payload][]=-write&dimensions[payload][]=/tmp/file.erb와 같은 페이로드를 전송하면, /tmp 경로에 payload 내용을 가진 파일이 생성될 수 있습니다. 이 파일 생성 취약점은 다른 취약점과 결합될 경우 더 심각한 문제를 야기할 수 있습니다.
  • 완화 방안: 엄격한 ImageMagick 보안 정책을 적용하고, 사용자 제어 데이터를 이러한 메서드에 직접 전달하지 않도록 주의해야 합니다.

결론

두 가지 Rails CVE는 Rails 애플리케이션 개발 시 보안 코딩 관행의 중요성을 다시 한번 상기시킵니다. CVE-2025-55193은 로그 관리 및 터미널 보안의 중요성을, CVE-2025-24293은 사용자 입력 검증 및 이미지 처리 라이브러리 사용 시의 주의를 요구합니다. 개발자는 이러한 취약점을 이해하고, 최신 보안 패치를 적용하며, 사용자 입력 처리 및 외부 라이브러리 사용에 있어 항상 보안을 최우선으로 고려해야 합니다. 이는 잠재적인 공격으로부터 애플리케이션을 보호하고 사용자 데이터를 안전하게 유지하는 데 필수적입니다.

댓글 0

댓글 작성

0/1000
정중하고 건설적인 댓글을 작성해 주세요.

아직 댓글이 없습니다

첫 번째 댓글을 작성해보세요!