English Advisory →
CVE-2018-200629.8/CRITICALCISA KEV 등재

NoneCms 및 ThinkPHP 프레임워크 원격 코드 실행(RCE) 취약점 (CVE-2018-20062)

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

NoneCms V1.3 및 하위에 내장된 ThinkPHP 5.x 프레임워크 기반 웹 애플리케이션

파급 효과

인증되지 않은 원격 공격자가 특수하게 조작된 HTTP 요청을 전송하여 대상 서버에서 임의의 PHP 코드를 실행하고 시스템 권한을 완전히 장악할 수 있습니다

권장 조치

ThinkPHP 프레임워크를 최신 안전 버전으로 업데이트하고, 취약한 NoneCms 코드를 패치하거나 웹 애플리케이션 방화벽(WAF) 규칙을 적용하십시오

영향받는 제품 및 버전 범위

NoneCms V1.3 및 ThinkPHP 5.0.x (5.0.23 이하 버전 포함) 프레임워크 기반 웹 애플리케이션

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

패치 및 우회 명령어

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

ThinkPHP 프레임워크를 최신 보안 패치가 적용된 버전으로 업데이트하십시오. Composer를 사용하는 경우 아래 명령어를 통해 의존성을 업데이트할 수 있습니다.

bash
# Composer를 통한 ThinkPHP 프레임워크 업데이트
composer update topthink/framework

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

즉각적인 패치가 어려운 경우, application/config.php 또는 config/app.php 설정 파일에서 외부 입력값 필터링 설정을 강화하거나, Nginx/Apache 등 웹 서버 레벨에서 취약한 패턴의 요청을 차단하십시오.

nginx
# Nginx 설정에 취약한 쿼리 스트링 차단 규칙 추가
server {
    listen 80;
    server_name localhost;

    if ($query_string ~* "filter=(system|phpinfo|eval|assert|passthru|shell_exec)") {
        return 403;
    }
    if ($query_string ~* "think\\Request") {
        return 403;
    }
}

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

웹 서버의 액세스 로그에서 think\Request 또는 filter 매개변수가 포함된 비정상적인 요청을 탐지하는 스크립트입니다.

bash
# Apache/Nginx 액세스 로그에서 ThinkPHP RCE 공격 시도 탐지
grep -Ei 'think\\Request|filter=' /var/log/nginx/access.log /var/log/httpd/access_log 2>/dev/null
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
CISA KEV 등재 및 실제 악용 사례가 확인된 고위험 취약점이므로, 즉시 ThinkPHP 프레임워크를 최신 버전으로 업데이트하고 WAF 차단 규칙을 적용하십시오.

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

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

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

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

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

본 취약점은 NoneCms V1.3 및 ThinkPHP 프레임워크의 입력값 검증 미흡으로 인해 발생하는 원격 코드 실행(RCE) 취약점입니다. think/App.php 클래스에서 컨트롤러를 처리하는 과정에서 사용자가 전달한 매개변수를 적절히 필터링하지 않고 동적으로 호출하는 구조적 결함이 존재합니다. 특히 filter 매개변수를 통해 PHP 내부 함수나 임의의 콜백 함수를 지정할 수 있어, 공격자가 입력한 데이터가 검증 없이 실행 엔진으로 전달되는 결과를 초래합니다.

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

공격자는 HTTP GET 또는 POST 요청을 통해 s 매개변수로 라우팅 경로를 조작하고, filter 매개변수에 실행하고자 하는 PHP 함수(예: phpinfo, system, assert 등)를 지정합니다. 예를 들어, s=index/ hink\Request/input&filter=phpinfo&data=1과 같은 쿼리 스트링을 전송하면, ThinkPHP의 내부 리플렉션 메커니즘이 think\Request 클래스의 input 메서드를 호출하는 과정에서 filter로 지정된 phpinfo 함수를 실행하게 됩니다. 이 과정에서 어떠한 인증도 요구되지 않으므로 원격의 공격자가 손쉽게 익스플로잇을 수행할 수 있습니다.

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

본 취약점은 CISA KEV(Known Exploited Vulnerabilities) 카탈로그에 등재될 만큼 실제 야생(In-the-Wild)에서 활발히 악용되고 있으며, EPSS 점수가 0.99를 상회하여 공격 성공 가능성이 매우 높습니다. 공격자가 이 취약점을 악용할 경우, 웹 서버 권한으로 임의의 시스템 명령을 실행하여 데이터베이스 기밀 데이터를 탈취하거나, 웹쉘(Webshell)을 업로드하여 지속적인 백도어를 확보할 수 있습니다. 이는 서비스 중단, 랜섬웨어 감염, 내부망 침투로 이어지는 심각한 비즈니스 중단 사태를 야기할 수 있습니다.

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

자주 묻는 실무 질문 (FAQ — CVE-2018-20062)

FAQ

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

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

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

주요 영향 벤더는 nonecms, topthink이며, 대상 컴포넌트는 nonecms, thinkphp입니다. 상세 영향 범위: NoneCms V1.3 및 ThinkPHP 5.0.x (5.0.23 이하 버전 포함) 프레임워크 기반 웹 애플리케이션

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

[권장 조치] ThinkPHP 프레임워크를 최신 안전 버전으로 업데이트하고, 취약한 NoneCms 코드를 패치하거나 웹 애플리케이션 방화벽(WAF) 규칙을 적용하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2018-20062 NoneCms 및 ThinkPHP 프레임워크 원격 코드 실행(RCE) 취약점 (CVE-2018-20062) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse