English Advisory →
CVE-2021-31299.8/CRITICALCISA KEV 등재

Laravel Ignition 디버그 모드 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2021-3129)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
facade, laravel
대상 컴포넌트 / 패키지
ignition, laravel
권고문 발행일
2021-01-12
CVSS v3.1
9.8
CRITICAL
30일 악용확률
99.9%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Laravel 8.4.2 미만 버전 및 Ignition 2.5.2 미만 패키지를 사용하며 디버그 모드(APP_DEBUG=true)가 활성화된 웹 애플리케이션

파급 효과

인증되지 않은 원격 공격자가 악의적인 페이로드를 전송하여 대상 서버에서 임의의 PHP 코드를 실행하고 시스템 권한을 완전히 장악할 수 있습니다

권장 조치

Ignition 패키지를 2.5.2 이상으로 업데이트하고, 운영 환경(Production)에서 Laravel 디버그 모드(APP_DEBUG)를 반드시 'false'로 설정하십시오

영향받는 제품 및 버전 범위

Laravel 8.4.2 미만 버전 및 Ignition 2.5.2 미만 버전 (디버그 모드 'APP_DEBUG=true' 활성화 환경에 한함)

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

패치 및 우회 명령어

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

Composer를 사용하여 Ignition 패키지를 안전한 최신 버전(2.5.2 이상)으로 업데이트합니다.

bash
# Composer 의존성 업데이트 실행
composer update facade/ignition

# 설치된 버전이 2.5.2 이상인지 확인
composer show facade/ignition | grep -E 'versions'

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

운영 환경(Production)에서는 반드시 디버그 모드를 비활성화해야 합니다. .env 파일을 수정하고 웹 서버 설정을 강화하십시오.

bash
# 1. Laravel .env 파일 설정 변경
# /var/www/html/.env (또는 프로젝트 루트 디렉터리)
APP_ENV=production
APP_DEBUG=false

# 2. Laravel 설정 캐시 적용
php artisan config:cache

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

웹 서버 액세스 로그에서 _ignition/execute-solution 경로에 대한 비정상적인 POST 요청 및 응답 코드를 점검합니다.

bash
# Nginx/Apache 액세스 로그에서 Ignition 공격 시도 탐지
grep -i '_ignition/execute-solution' /var/log/nginx/access.log

# Laravel 로그 파일 내 Phar 역직렬화 관련 키워드(예: PHAR, Object 등) 오염 여부 점검
grep -i 'phar://' /var/www/html/storage/logs/laravel.log
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
운영 환경의 Laravel .env 파일에서 APP_DEBUG를 즉시 false로 전환하고, Composer를 통해 facade/ignition 패키지를 2.5.2 이상으로 업그레이드하십시오.

코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요

서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.

평균 설정 시간 3분 · Zero-Day 자동 룰 업데이트
이 웹 취약점(WAF 우회 & RCE)을 안전한 실습 랩에서 직접 재현해 보세요
실습 랩 & 보안 강의 보러가기

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

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

본 취약점은 Laravel 프레임워크의 기본 오류 페이지 렌더링 솔루션인 Facade Ignition 패키지에서 발생합니다. Ignition은 개발 편의성을 위해 예외 발생 시 솔루션(Solutions) 기능을 제공하여, 누락된 파일 생성이나 설정 변경 등의 작업을 웹 인터페이스에서 직접 수행할 수 있도록 지원합니다. 그러나 이 과정에서 내부적으로 file_get_contents() 및 file_put_contents() 함수를 안전하지 않게 호출하여, 공격자가 입력한 임의의 파일 경로와 내용을 검증 없이 처리하는 취약점이 존재합니다.

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

공격자는 Laravel의 디버그 모드가 활성화되어 있을 때 노출되는 _ignition/execute-solution 엔드포인트를 표적으로 삼습니다. 공격 시나리오는 다음과 같이 진행됩니다:

  • 로그 파일 오염: 공격자는 PHP 필터(php://filter) 스트림 및 Phar 역직렬화 기법을 악용하기 위해, Laravel의 기본 로그 파일(storage/logs/laravel.log)에 악의적인 Phar 페이로드를 주입합니다.
  • Phar 역직렬화 트리거: MakeFeaturedCollaboratorSolution 등 내장 솔루션의 파일 처리 로직을 호출하면서, 파일 경로 매개변수에 phar:// 프로토콜을 사용하여 오염된 로그 파일을 지정합니다.
  • 원격 코드 실행: PHP가 Phar 아카이브를 파싱하는 과정에서 메타데이터 역직렬화가 발생하며, 가젯 체인(Gadget Chain)을 통해 최종적으로 공격자가 의도한 임의의 PHP 코드가 웹 서버 권한으로 실행됩니다.

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

이 취약점은 CVSS 9.8의 치명적인 등급을 받았으며, CISA KEV(알려진 악용된 취약점 카탈로그)에 등재될 만큼 실제 공격에 활발히 악용되고 있습니다. 공격자가 웹 서버의 제어권을 획득할 경우, 데이터베이스 자격 증명(AWS Key, DB Password 등 .env 파일 정보) 탈취, 내부망 침투를 위한 피벗 포인트 활용, 랜섬웨어 유포 및 웹페이지 변조 등 기업 비즈니스에 치명적인 중단과 법적·재무적 손실을 초래할 수 있습니다.

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

자주 묻는 실무 질문 (FAQ — CVE-2021-3129)

FAQ

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

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

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

주요 영향 벤더는 facade, laravel이며, 대상 컴포넌트는 ignition, laravel입니다. 상세 영향 범위: Laravel 8.4.2 미만 버전 및 Ignition 2.5.2 미만 버전 (디버그 모드 'APP_DEBUG=true' 활성화 환경에 한함)

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

[권장 조치] Ignition 패키지를 2.5.2 이상으로 업데이트하고, 운영 환경(Production)에서 Laravel 디버그 모드(APP_DEBUG)를 반드시 'false'로 설정하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2021-3129 Laravel Ignition 디버그 모드 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2021-3129) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse