English Advisory →
CVE-2019-54187.5/HIGHCISA KEV 등재CWE-22

Ruby on Rails Action View 임의 파일 콘텐츠 유출 취약점 (CVE-2019-5418) 분석 및 대응 가이드

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
rubyonrails
대상 컴포넌트 / 패키지
actionview, rails
권고문 발행일
2019-03-27
CVSS v3.1
7.5
HIGH
30일 악용확률
98.5%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Ruby on Rails의 Action View 구성 요소 중 5.2.2.1 미만, 5.1.6.2 미만, 5.0.7.2 미만, 4.2.11.1 미만 및 v3 버전 전체

파급 효과

인증되지 않은 원격 공격자가 조작된 HTTP Accept 헤더를 전송하여 대상 서버의 로컬 파일 시스템에 존재하는 임의의 민감한 파일(예: 데이터베이스 설정, 소스 코드 등)을 탈취할 수 있습니다

권장 조치

사용 중인 Ruby on Rails 및 Action View 패키지를 최신 보안 패치 버전으로 즉시 업그레이드하거나, 임시 완화 패치를 적용하십시오

영향받는 제품 및 버전 범위

Ruby on Rails Action View 5.2.2.1 미만, 5.1.6.2 미만, 5.0.7.2 미만, 4.2.11.1 미만 및 v3 전 버전

권장 패치 및 임시 완화(Workaround) 가이드

패치 및 우회 명령어

1. 공식 보안 패치 및 버전 업그레이드 명령어

프로젝트의 Gemfile을 수정하여 Rails 및 Action View 버전을 안전한 버전으로 업데이트한 후 번들러를 실행합니다.

bash
# Gemfile 수정 예시 (사용 중인 메이저 버전에 맞게 안전한 버전 지정)
# gem 'rails', '~> 5.2.2', '>= 5.2.2.1'

# 의존성 업데이트 실행
bundle update actionview rails

2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정

즉각적인 패치가 어려운 경우, 컨트롤러 레벨에서 Accept 헤더의 형식을 강제로 제한하거나, 리버스 프록시(Nginx) 단에서 비정상적인 Accept 헤더를 차단하는 규칙을 적용할 수 있습니다.

nginx
# Nginx 설정 파일에 추가하여 비정상적인 Accept 헤더 차단
server {
    listen 80;
    server_name your-rails-app.com;

    if ($http_accept ~* '\.\./') {
        return 400 'Invalid Accept Header';
    }
}

3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트

서버의 액세스 로그에서 Accept 헤더에 디렉터리 이동 문자열이 포함되어 있는지 검사하는 스크립트입니다.

bash
# Nginx 또는 Apache 액세스 로그에서 침해 시도 흔적 검색
grep -i '\.\./' /var/log/nginx/access.log

# 현재 설치된 actionview 버전 확인
bundle info actionview
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
CISA KEV 등재 및 EPSS 점수가 극도로 높은 취약점이므로, 운영 중인 Rails 애플리케이션의 Action View 버전을 즉시 확인하고 최신 패치 버전으로 업그레이드하십시오.

내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요

간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.

무료 플랜 지원 · GitHub/GitLab 1클릭 연동
CI/CD 파이프라인에 자동 보안 스캐닝(SAST/SCA) 구축하는 실전 강의
커리큘럼 확인하기

취약점 발생 원리 및 공격 메커니즘

1. 취약점 개요 및 발생 원인 (Root Cause)

본 취약점(CVE-2019-5418)은 Ruby on Rails 프레임워크의 뷰 렌더링을 담당하는 Action View 라이브러리에서 발생하는 경로 탐색(Directory Traversal, CWE-22) 및 임의 파일 유출 취약점입니다. Action View는 클라이언트가 요청한 포맷(HTML, JSON 등)에 따라 적절한 템플릿을 찾아 렌더링합니다. 이 과정에서 HTTP 요청의 'Accept' 헤더 값을 파싱하여 템플릿 파일 경로를 동적으로 구성하는데, 입력값에 대한 적절한 검증 및 필터링이 결여되어 있어 공격자가 입력한 상대 경로 문자열이 파일 시스템 경로 해석에 그대로 사용되는 결함이 존재합니다.

2. 공격 메커니즘 및 익스플로잇 시나리오

공격자는 HTTP 요청을 전송할 때 'Accept' 헤더에 디렉터리 상위 이동 문자열(../../)과 함께 대상 파일의 경로를 주입합니다. 예를 들어, 'Accept: ../../../../../etc/passwd{{' 와 같은 형태로 헤더를 조작하여 전송하면, Action View의 템플릿 탐색 엔진은 이를 유효한 템플릿 이름의 일부로 오인하고 로컬 파일 시스템에서 해당 경로의 파일을 찾아 그 내용을 HTTP 응답 본문으로 반환하게 됩니다. 이 취약점은 별도의 인증이나 복잡한 사전 조건 없이 오직 HTTP 헤더 조작만으로 트리거가 가능하여 매우 높은 위험도를 가집니다.

3. 비즈니스 및 인프라 파급 영향

본 취약점은 CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 있으며, EPSS 점수가 0.9851(98.51%)에 달할 정도로 실제 공격에 매우 빈번하게 악용되는 고위험 취약점입니다. 공격자가 이 취약점을 성공적으로 악용할 경우, Rails 애플리케이션의 자격 증명이 담긴 'config/database.yml', 암호화 키가 포함된 'config/credentials.yml.enc' 또는 'config/secrets.yml' 파일뿐만 아니라 시스템의 민감한 설정 파일들을 무단으로 탈취할 수 있습니다. 이는 2차 공격으로 이어져 데이터베이스 완전 장악 및 원격 코드 실행(RCE)으로 확대될 수 있는 치명적인 비즈니스 중단 위협을 초래합니다.

공식 보안 권고문 및 참조 링크

자주 묻는 실무 질문 (FAQ — CVE-2019-5418)

FAQ

Q1. CVE-2019-5418 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?

CVE-2019-5418의 기본 점수는 CVSS 7.5 (HIGH)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 98.5%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.

Q2. CVE-2019-5418에 영향을 받는 벤더와 제품은 무엇입니까?

주요 영향 벤더는 rubyonrails이며, 대상 컴포넌트는 actionview, rails입니다. 상세 영향 범위: Ruby on Rails Action View 5.2.2.1 미만, 5.1.6.2 미만, 5.0.7.2 미만, 4.2.11.1 미만 및 v3 전 버전

Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?

[권장 조치] 사용 중인 Ruby on Rails 및 Action View 패키지를 최신 보안 패치 버전으로 즉시 업그레이드하거나, 임시 완화 패치를 적용하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

실무자 보고서 워크벤치 연동

CVE-2019-5418 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성

클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.

보고서 초안 생성하기 →

🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (rubyonrails)

동일 카테고리 전체 보기 →
SecOps Advisory Dispatch & RSS Feed

일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독

보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2019-5418 Ruby on Rails Action View 임의 파일 콘텐츠 유출 취약점 (CVE-2019-5418) 분석 및 대응 가이드 (CVSS 7.5) - 패치 및 보안 권고 | CVE Pulse