English Advisory →
CVE-2020-16319.8/CRITICALCISA KEV 등재CWE-22CWE-73CWE-22

Juniper Networks Junos OS J-Web 로컬 파일 포함(LFI) 및 원격 코드 실행 취약점 (CVE-2020-1631) 분석 및 대응 가이드

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

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

HTTP/HTTPS 서비스(J-Web, Web Authentication, Dynamic-VPN 등)가 활성화된 Juniper Networks Junos OS 장비

파급 효과

인증되지 않은 공격자가 임의의 시스템 파일을 읽거나, 활성 세션 토큰을 탈취하여 관리자 권한을 획득하고 제한된 명령을 실행할 수 있음

권장 조치

Junos OS를 최신 보안 패치 버전으로 업그레이드하거나, 불필요한 HTTP/HTTPS 및 J-Web 서비스를 비활성화하고 방화벽 필터를 적용하십시오

영향받는 제품 및 버전 범위

Juniper Networks Junos OS 12.3, 12.3X48, 14.1X53, 15.1, 15.1X49, 16.1, 17.2, 17.3, 17.4, 18.1, 18.2, 18.3, 18.4, 19.1, 19.2, 19.3, 19.4, 20.1 버전 중 특정 패치 미적용 버전 (HTTP/HTTPS 서비스 활성화 시에만 영향)

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

패치 및 우회 명령어

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

가장 확실한 해결책은 Juniper 공식 권고에 따라 취약점이 해결된 Junos OS 버전으로 업그레이드하는 것입니다. 장비의 CLI 환경에서 아래 명령어를 통해 현재 버전을 확인하고 패치 버전을 적용하십시오.

bash
# 현재 Junos OS 버전 및 HTTP 프로세스 실행 여부 확인
show version
show system processes | match http

# Junos OS 소프트웨어 업그레이드 패키지 설치 (예시)
request system software add reboot /var/tmp/junos-install-package.tgz

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

즉각적인 패치가 어려운 경우, J-Web 및 HTTP/HTTPS 서비스를 비활성화하여 공격 표면을 완전히 제거해야 합니다. 서비스를 유지해야 하는 경우 신뢰할 수 있는 IP 대역에서만 접근할 수 있도록 방화벽 필터(ACL)를 적용하십시오.

bash
# 1. HTTP/HTTPS 및 J-Web 서비스 비활성화
configure
delete system services web-management
commit and-quit

# 2. 특정 관리자 IP 대역(예: 192.168.10.0/24)만 J-Web에 접근하도록 방화벽 필터 적용
set firewall filter LIMIT-web-access term ALLOW-ADMIN from source-address 192.168.10.0/24
set firewall filter LIMIT-web-access term ALLOW-ADMIN from protocol tcp
set firewall filter LIMIT-web-access term ALLOW-ADMIN from destination-port
set firewall filter LIMIT-web-access term ALLOW-ADMIN then accept
set firewall filter LIMIT-web-access term DENY-OTHERS then reject
set interfaces lo0 unit 0 family inet filter input LIMIT-web-access
commit and-quit

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

공격자가 시스템 로그에 명령 주입을 시도했거나 파일 접근을 시도한 흔적이 있는지 점검하기 위해 아래 명령어를 실행하여 로그를 분석하십시오.

bash
# 활성 로그 및 압축된 이전 로그에서 공격 시그니처 패턴 검색
show log httpd.log | match '=*;*&|=*%3b*&'
show log httpd.log.0.gz | match '=*;*&|=*%3b*&'
show log httpd.log.1.gz | match '=*;*&|=*%3b*&'
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
NordLayer / Zero-Trust Network Access
실제 공격 사례가 확인된 취약점이므로, J-Web 서비스를 즉시 비활성화하거나 신뢰할 수 있는 IP로 접근을 제한하고 최신 Junos OS 버전으로 업그레이드하십시오.

반복되는 SSL-VPN 및 방화벽 Zero-Day 해킹, 이제 외부 포트를 닫고 ZTNA로 전환할 때입니다

공인 IP에 노출된 VPN 장비와 관리 콘솔은 랜섬웨어 그룹의 1순위 타겟입니다. 네트워크 포트 노출 없이 신원 기반으로 안전하게 사내 인프라에 접속하세요.

공격 표면(Attack Surface) 90% 감소 · 10분 배포

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

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

본 취약점(CVE-2020-1631)은 Juniper Networks Junos OS의 HTTP/HTTPS 웹 서비스 엔진에서 발생하는 로컬 파일 포함(LFI) 및 경로 탐색(Path Traversal) 취약점입니다. J-Web, 웹 인증, Dynamic-VPN(DVPN), Zero Touch Provisioning(ZTP) 등 웹 기반 인터페이스를 처리하는 과정에서 입력값 검증이 미흡하여 발생합니다. 공격자는 특수하게 조작된 HTTP 요청을 전송하여 시스템 내부의 민감한 파일을 읽거나 웹 서버 로그 파일에 악성 페이로드를 주입할 수 있습니다.

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

인증되지 않은 원격의 공격자는 디렉터리 탐색 문자열(예: '../')을 사용하여 시스템 내 'world-readable' 권한을 가진 파일에 접근할 수 있습니다. 특히 Junos OS 19.3R1 이상의 버전에서는 이 취약점을 통해 장비의 핵심 설정 파일(Configuration File)을 직접 탈취할 수 있는 위험성이 존재합니다. 또한, 공격자는 'httpd.log' 파일에 명령어를 주입(Log Poisoning)한 뒤 LFI를 통해 이를 실행하는 시나리오를 전개할 수 있습니다. 비록 웹 서버 프로세스가 권한이 낮은 'nobody' 계정으로 실행되어 직접적인 명령어 실행 영향도는 제한적이지만, J-Web 서비스가 활성화된 상태에서 관리자가 로그인되어 있다면 공격자는 관리자의 세션 토큰을 탈취하여 장비 전체에 대한 완전한 관리자 권한(CVSS 8.8)을 획득할 수 있습니다.

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

이 취약점은 CISA KEV(Known Exploited Vulnerabilities)에 등재되어 있으며, 실제 야생(In-the-Wild)에서 공격에 악용된 사례가 보고되었습니다. 공격자가 이 취약점을 성공적으로 악용할 경우, 네트워크 백본 및 방화벽 역할을 수행하는 Junos OS 장비의 제어권을 완전히 상실할 수 있습니다. 설정 파일 유출로 인한 내부 네트워크 토폴로지 노출, 세션 하이재킹을 통한 관리자 권한 탈취 등 기업 인프라 전체의 보안 경계가 무너지는 치명적인 비즈니스 중단 사태를 초래할 수 있습니다.

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

NIST NVD 공식 영문 원문 (Original Record)

A vulnerability in the HTTP/HTTPS service used by J-Web, Web Authentication, Dynamic-VPN (DVPN), Firewall Authentication Pass-Through with Web-Redirect, and Zero Touch Provisioning (ZTP) allows an unauthenticated attacker to perform local file inclusion (LFI) or path traversal. Using this vulnerability, an attacker may be able to inject commands into the httpd.log, read files with 'world' readable permission file or obtain J-Web session tokens. In the case of command injection, as the HTTP service runs as user 'nobody', the impact of this command injection is limited. (CVSS score 5.3, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N) In the case of reading files with 'world' readable permission, in Junos OS 19.3R1 and above, the unauthenticated attacker would be able to read the configuration file. (CVSS score 5.9, vector CVSS:3.1/ AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N) If J-Web is enabled, the attacker could gain the same level of access of anyone actively logged into J-Web. If an administrator is logged in, the attacker could gain administrator access to J-Web. (CVSS score 8.8, vector CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H) This issue only affects Juniper Networks Junos OS devices with HTTP/HTTPS services enabled. Junos OS devices with HTTP/HTTPS services disabled are not affected. If HTTP/HTTPS services are enabled, the following command will show the httpd processes: user@device> show system processes | match http 5260 - S 0:00.13 /usr/sbin/httpd-gk -N 5797 - I 0:00.10 /usr/sbin/httpd --config /jail/var/etc/httpd.conf To summarize: If HTTP/HTTPS services are disabled, there is no impact from this vulnerability. If HTTP/HTTPS services are enabled and J-Web is not in use, this vulnerability has a CVSS score of 5.9 (CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N). If J-Web is enabled, this vulnerability has a CVSS score of 8.8 (CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H). Juniper SIRT has received a single report of this vulnerability being exploited in the wild. Out of an abundance of caution, we are notifying customers so they can take appropriate actions. Indicators of Compromise: The /var/log/httpd.log may have indicators that commands have injected or files being accessed. The device administrator can look for these indicators by searching for the string patterns "=*;*&" or "*%3b*&" in /var/log/httpd.log, using the following command: user@device> show log httpd.log | match "=*;*&|=*%3b*&" If this command returns any output, it might be an indication of malicious attempts or simply scanning activities. Rotated logs should also be reviewed, using the following command: user@device> show log httpd.log.0.gz | match "=*;*&|=*%3b*&" user@device> show log httpd.log.1.gz | match "=*;*&|=*%3b*&" Note that a skilled attacker would likely remove these entries from the local log file, thus effectively eliminating any reliable signature that the device had been attacked. This issue affects Juniper Networks Junos OS 12.3 versions prior to 12.3R12-S16; 12.3X48 versions prior to 12.3X48-D101, 12.3X48-D105; 14.1X53 versions prior to 14.1X53-D54; 15.1 versions prior to 15.1R7-S7; 15.1X49 versions prior to 15.1X49-D211, 15.1X49-D220; 16.1 versions prior to 16.1R7-S8; 17.2 versions prior to 17.2R3-S4; 17.3 versions prior to 17.3R3-S8; 17.4 versions prior to 17.4R2-S11, 17.4R3-S2; 18.1 versions prior to 18.1R3-S10; 18.2 versions prior to 18.2R2-S7, 18.2R3-S4; 18.3 versions prior to 18.3R2-S4, 18.3R3-S2; 18.4 versions prior to 18.4R1-S7, 18.4R3-S2 ; 18.4 version 18.4R2 and later versions; 19.1 versions prior to 19.1R1-S5, 19.1R3-S1; 19.1 version 19.1R2 and later versions; 19.2 versions prior to 19.2R2; 19.3 versions prior to 19.3R2-S3, 19.3R3; 19.4 versions prior to 19.4R1-S2, 19.4R2; 20.1 versions prior to 20.1R1-S1, 20.1R2.

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

FAQ

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

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

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

주요 영향 벤더는 juniper이며, 대상 컴포넌트는 junos_os입니다. 상세 영향 범위: Juniper Networks Junos OS 12.3, 12.3X48, 14.1X53, 15.1, 15.1X49, 16.1, 17.2, 17.3, 17.4, 18.1, 18.2, 18.3, 18.4, 19.1, 19.2, 19.3, 19.4, 20.1 버전 중 특정 패치 미적용 버전 (HTTP/HTTPS 서비스 활성화 시에만 영향)

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

[권장 조치] Junos OS를 최신 보안 패치 버전으로 업그레이드하거나, 불필요한 HTTP/HTTPS 및 J-Web 서비스를 비활성화하고 방화벽 필터를 적용하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2020-1631 Juniper Networks Junos OS J-Web 로컬 파일 포함(LFI) 및 원격 코드 실행 취약점 (CVE-2020-1631) 분석 및 대응 가이드 (CVSS 9.8) - 패치 및 보안 권고 | CVE Pulse