English Advisory →
CVE-2020-79619.8/CRITICALCISA KEV 등재CWE-502CWE-502

Liferay Portal JSONWS 신뢰할 수 없는 데이터 역직렬화 원격 코드 실행(RCE) 취약점 (CVE-2020-7961)

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

Liferay Portal 7.2.1 CE GA2 미만 버전

파급 효과

인증되지 않은 원격 공격자가 JSON 웹 서비스(JSONWS) API를 통해 임의의 Java 객체를 역직렬화하여 대상 서버에서 시스템 권한으로 원격 코드를 실행할 수 있습니다

권장 조치

Liferay Portal을 최신 보안 패치가 적용된 버전(7.2.1 CE GA2 이상)으로 즉시 업그레이드하고, 외부에서 JSONWS API 경로로의 접근을 차단하십시오

영향받는 제품 및 버전 범위

Liferay Portal 7.2.1 CE GA2 미만의 모든 버전 (7.0, 7.1, 7.2 계열 포함)

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

패치 및 우회 명령어

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

Liferay Portal을 최신 안정 버전 또는 취약점이 해결된 7.2.1 CE GA2 이상 버전으로 업그레이드하십시오.

bash
# Liferay Portal Docker 환경을 사용하는 경우 최신 안전 버전으로 이미지 업데이트
docker pull liferay/portal:7.2.1-ga2

# 기존 컨테이너 중지 및 새 버전으로 재시작
docker stop liferay-container
docker run -d --name liferay-new -p 8080:8080 liferay/portal:7.2.1-ga2

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

즉각적인 업그레이드가 어려운 경우, 리버스 프록시(Nginx) 또는 WAF를 사용하여 외부에서 /api/jsonws 및 /api/secure/jsonws 경로로 들어오는 모든 요청을 차단하십시오.

nginx
# Nginx 설정 파일 (/etc/nginx/nginx.conf)에 아래 블록 추가
server {
    listen 80;
    server_name liferay.example.com;

    # 외부로부터의 JSONWS API 접근 원천 차단
    location ~* ^/api/(jsonws|secure/jsonws) {
        deny all;
        return 403;
    }

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

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

Liferay 액세스 로그에서 JSONWS 호출 흔적 및 비정상적인 클래스 로딩 시도를 탐지하기 위한 점검 스크립트입니다.

bash
# Liferay 액세스 로그에서 JSONWS API 호출 및 악성 페이로드 전송 흔적 검색
echo '[*] Checking for suspicious JSONWS API requests...'
grep -Ei 'POST.*/api/jsonws' /var/log/liferay/*.log || echo 'No immediate JSONWS POST requests found.'

# 로그 내에서 일반적이지 않은 Java 클래스(가젯) 호출 패턴 검색
echo '[*] Searching for potential deserialization gadget patterns...'
egrep -i '(org.apache.commons|spring|jackson|jodd)' /var/log/liferay/*.log
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
CISA KEV 등재 취약점으로 실제 공격에 악용되고 있으므로, 외부 노출된 Liferay Portal의 JSONWS 경로를 즉시 차단하고 최신 버전으로 업그레이드하십시오.

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

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

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

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

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

본 취약점은 Liferay Portal의 JSON 웹 서비스(JSONWS) API 엔드포인트에서 입력값 검증 미흡으로 인해 발생하는 신뢰할 수 없는 데이터 역직렬화(CWE-502) 취약점입니다. Liferay Portal은 외부 요청을 처리할 때 Flexjson 또는 자체 역직렬화 메커니즘을 사용하여 JSON 데이터를 Java 객체로 변환합니다. 이 과정에서 입력된 클래스 타입에 대한 적절한 화이트리스트 검증이 수행되지 않아, 공격자가 임의의 악성 Java 객체를 지정하고 인스턴스화할 수 있는 취약점이 존재합니다.

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

공격자는 인증을 거치지 않고 /api/jsonws 경로에 직접 접근할 수 있습니다. 공격 시나리오는 다음과 같습니다:

  • 공격자는 JSONWS API가 제공하는 파라미터 바인딩 기능을 악용하여, 매개변수 타입으로 임의의 가젯 클래스(예: org.apache.commons.collections 또는 Spring Framework 관련 가젯)를 지정하는 특수하게 조작된 HTTP POST 요청을 전송합니다.
  • Liferay의 역직렬화 엔진은 요청에 포함된 클래스 이름을 기반으로 객체 인스턴스화를 시도합니다.
  • 이 과정에서 공격자가 주입한 악성 페이로드가 실행되어, JVM 프로세스 권한으로 대상 서버에서 임의의 OS 명령어가 실행됩니다.

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

본 취약점은 CVSS 9.8의 치명적인(Critical) 등급으로 평가되었으며, CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 봇넷(예: FreakOut) 및 랜섬웨어 공격에 적극적으로 악용된 이력이 있습니다. 공격 성공 시 공격자는 대상 서버의 완전한 제어권을 획득할 수 있으며, 내부망 침투, 데이터베이스 탈취, 랜섬웨어 유포 등 기업 인프라 전반에 걸쳐 치명적인 비즈니스 중단 및 데이터 유출 사고를 초래할 수 있습니다.

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

자주 묻는 실무 질문 (FAQ — CVE-2020-7961)

FAQ

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

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

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

주요 영향 벤더는 liferay이며, 대상 컴포넌트는 liferay_portal입니다. 상세 영향 범위: Liferay Portal 7.2.1 CE GA2 미만의 모든 버전 (7.0, 7.1, 7.2 계열 포함)

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

[권장 조치] Liferay Portal을 최신 보안 패치가 적용된 버전(7.2.1 CE GA2 이상)으로 즉시 업그레이드하고, 외부에서 JSONWS API 경로로의 접근을 차단하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2020-7961 Liferay Portal JSONWS 신뢰할 수 없는 데이터 역직렬화 원격 코드 실행(RCE) 취약점 (CVE-2020-7961) (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse