English Advisory →
CVE-2016-100339.8/CRITICALCISA KEV 등재CWE-88CWE-88

PHPMailer 5.2.18 미만 버전 원격 코드 실행(RCE) 및 인수 주입 취약점 (CVE-2016-10033)

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

PHPMailer 5.2.18 미만 버전을 사용하는 모든 PHP 웹 애플리케이션

파급 효과

공격자가 이메일 발송 기능의 Sender(From) 필드를 조작하여 대상 서버에서 원격 코드 실행(RCE) 권한을 획득할 수 있습니다

권장 조치

PHPMailer 라이브러리를 최신 안정 버전(5.2.18 이상)으로 즉시 업데이트하십시오

영향받는 제품 및 버전 범위

PHPMailer 5.2.18 미만 버전 전반 (isMail 전송 방식을 사용하며 sendmail이 활성화된 환경)

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

패치 및 우회 명령어

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

가장 확실한 해결책은 PHPMailer를 최신 보안 패치가 적용된 버전(5.2.18 이상)으로 업그레이드하는 것입니다. Composer를 사용하는 프로젝트의 경우 아래 명령어를 통해 의존성을 업데이트하십시오.

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

# 특정 안전 버전으로 직접 지정하여 설치하는 경우
composer require phpmailer/phpmailer:^5.2.18

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

즉각적인 라이브러리 업데이트가 어려운 경우, PHP 설정 파일(php.ini)에서 mail() 함수의 실행을 제한하거나 웹 애플리케이션 방화벽(WAF)을 통해 악의적인 인자 주입 패턴을 차단해야 합니다.

nginx
# Nginx/WAF 등에서 요청 파라미터 내 sendmail 옵션 주입 패턴 차단 예시
# (공격 페이로드에 자주 사용되는 -O, -X, -f 등의 인자 유입 차단)
if ($query_string ~* "(-O|-X|--config)") {
    return 403;
}

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

현재 시스템에 설치된 PHPMailer의 버전을 점검하고, 웹 서버 로그 및 파일 시스템에서 비정상적인 PHP 파일 생성이 있었는지 검사합니다.

bash
# 1. Composer 설치 버전 확인
composer show phpmailer/phpmailer | grep -E 'versions'

# 2. 웹 루트 디렉토리 내 sendmail 로그 생성 흔적 및 웹셸 의심 파일 검색
find /var/www/html/ -name '*.php' -type f | xargs grep -E '(QueueDirectory|Contact|sendmail)'
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Snyk Open Source & Container Security
PHPMailer 라이브러리를 즉시 5.2.18 이상 버전으로 업데이트하여 원격 코드 실행 위협을 원천 차단하십시오.

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

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

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

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

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

본 취약점(CVE-2016-10033)은 PHP 환경에서 가장 널리 사용되는 메일 발송 라이브러리인 PHPMailer의 mailSend 함수 내 isMail 전송 방식에서 발생합니다. PHPMailer는 내부적으로 PHP의 기본 mail() 함수를 호출하여 메일을 발송하는데, 이 과정에서 사용자로부터 입력받은 Sender 속성(이메일 주소)에 대한 검증이 미흡하여 발생합니다. 공격자가 백슬래시와 큰따옴표(\")를 포함한 악의적인 문자열을 Sender 필드에 주입하면, 내부적으로 호출되는 sendmail 바이너리의 인수를 조작할 수 있는 인수 주입(Argument Injection, CWE-88) 상태가 유발됩니다.

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

PHP의 mail() 함수는 시스템의 MTA(Mail Transfer Agent, 예: sendmail)를 실행할 때 5번째 인자로 추가 옵션을 전달할 수 있도록 지원합니다. PHPMailer는 이 5번째 인자에 -f 옵션(발신자 주소 지정)과 함께 사용자가 입력한 Sender 값을 전달합니다. 이때 입력값 필터링의 허점을 이용하여 "attacker(at)example.com\" -OQueueDirectory=/tmp -X/var/www/html/rce.php some"과 같은 페이로드를 주입하면, sendmail은 -O 옵션을 통해 큐 디렉토리를 변경하고 -X 옵션을 통해 메일 전송 로그를 웹 루트 디렉토리 내의 PHP 파일로 기록하게 됩니다. 이후 메일 본문에 PHP 웹셸 코드를 담아 발송하면, 해당 웹셸이 대상 서버의 웹 디렉토리에 파일로 생성되어 원격 코드 실행(RCE)이 가능해집니다.

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

본 취약점은 CVSS 9.8의 치명적인(Critical) 등급으로 분류되어 있으며, 실제 공격에 적극적으로 악용된 이력이 있는 CISA KEV 등재 취약점입니다. 공격자는 인증 없이 웹 사이트의 '문의하기', '회원가입', '비밀번호 찾기' 등 이메일 발송 폼을 통해 서버의 쉘 권한을 완전히 장악할 수 있습니다. 이는 데이터베이스 기밀 정보 유출, 랜섬웨어 감염, 내부망 침투 및 추가 인프라 장악으로 이어질 수 있어 비즈니스 연속성에 치명적인 위협을 초래합니다.

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

자주 묻는 실무 질문 (FAQ — CVE-2016-10033)

FAQ

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

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

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

주요 영향 벤더는 phpmailer이며, 대상 컴포넌트는 phpmailer입니다. 상세 영향 범위: PHPMailer 5.2.18 미만 버전 전반 (isMail 전송 방식을 사용하며 sendmail이 활성화된 환경)

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

[권장 조치] PHPMailer 라이브러리를 최신 안정 버전(5.2.18 이상)으로 즉시 업데이트하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2016-10033 PHPMailer 5.2.18 미만 버전 원격 코드 실행(RCE) 및 인수 주입 취약점 (CVE-2016-10033) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse