ZyXEL NAS 장비 weblogin.cgi 사전 인증 원격 코드 실행(RCE) 취약점 (CVE-2020-9054)
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENT펌웨어 5.21 미만을 실행하는 ZyXEL NAS 장비(NAS326, NAS520, NAS540, NAS542) 및 단종된 NSA 시리즈 전 모델
인증되지 않은 원격 공격자가 특수하게 조작된 HTTP 요청을 전송하여 대상 장비에서 root 권한으로 임의의 시스템 명령을 실행할 수 있습니다
영향받는 활성 모델은 최신 보안 패치 버전으로 즉시 업그레이드하고, 단종된 모델은 네트워크에서 격리하거나 장비를 교체하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
지원 대상 장비의 경우 ZyXEL 공식 다운로드 센터를 통해 제공되는 최신 보안 패치 적용 펌웨어로 즉시 업그레이드를 수행해야 합니다.
# [참고] NAS 장비의 CLI 환경 또는 관리자 셸에서 현재 펌웨어 버전을 확인하는 예시 명령어
# 실제 업그레이드는 웹 관리 콘솔(GUI)의 'Firmware Update' 메뉴를 통해 진행하는 것을 권장합니다.
cat /etc/firmware_version2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
단종된 장비(NSA 시리즈)이거나 즉각적인 패치가 불가능한 경우, 외부 인터넷으로부터의 접근을 완전히 차단하고 내부 신뢰할 수 있는 IP 대역에서만 접근할 수 있도록 방화벽 규칙을 설정해야 합니다.
# iptables를 사용하여 외부망(WAN) 인터페이스로부터의 HTTP/HTTPS(80, 443) 포트 접근을 차단하고 특정 관리자 IP만 허용
# 외부 인터페이스가 eth0이고 신뢰할 수 있는 관리자 대역이 192.168.1.0/24인 경우
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 443 -j DROP3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
웹 서버 로그에서 weblogin.cgi를 호출하면서 비정상적인 특수문자나 명령어가 포함된 요청이 유입되었는지 점검합니다.
# 웹 서버 접근 로그에서 weblogin.cgi 호출 및 의심스러운 특수문자(; , ` , | , $)가 포함된 요청 검색
grep -E 'weblogin\.cgi.*(%3B|%60|%7C|%24|;|`|\|)' /var/log/apache2/access.log /var/log/nginx/access.log 2>/dev/null반복되는 SSL-VPN 및 방화벽 Zero-Day 해킹, 이제 외부 포트를 닫고 ZTNA로 전환할 때입니다
공인 IP에 노출된 VPN 장비와 관리 콘솔은 랜섬웨어 그룹의 1순위 타겟입니다. 네트워크 포트 노출 없이 신원 기반으로 안전하게 사내 인프라에 접속하세요.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점은 ZyXEL NAS 장비의 웹 로그인 인증을 처리하는 CGI 실행 파일인 weblogin.cgi에서 발생합니다. 해당 프로그램은 외부로부터 전달받는 username 파라미터에 대해 적절한 입력값 검증 및 필터링(Sanitization)을 수행하지 않은 채 시스템 명령 실행 함수로 전달합니다. 이로 인해 특수문자나 셸 메타문자가 포함된 사용자 이름이 입력될 경우, 의도하지 않은 OS 명령어가 주입되어 실행되는 OS 커맨드 인젝션(CWE-78) 취약점이 발생합니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
공격자는 인증을 거치지 않은 상태(Pre-authentication)에서 weblogin.cgi를 대상으로 특수하게 조작된 HTTP GET 또는 POST 요청을 전송합니다. username 파라미터 내부에 세미콜론(;), 백틱(` `), 혹은 파이프(|`)와 같은 셸 제어 문자와 함께 실행하고자 하는 명령어를 삽입합니다.
비록 웹 서버 프로세스 자체는 root 권한이 아닌 일반 사용자 권한으로 실행되지만, ZyXEL 펌웨어 내부에 포함된 특정 유틸리티에 setuid 권한이 설정되어 있어 이를 악용해 최종적으로 root 권한을 획득할 수 있습니다. 또한, 공격자가 대상 장비에 직접 연결할 수 없는 환경이더라도, 사용자가 악성 스크립트가 삽입된 웹사이트를 방문하도록 유도하여 내부 네트워크에 존재하는 ZyXEL NAS 장비에 크로스 사이트 요청을 전달하는 방식으로도 익스플로잇이 가능합니다.
3. 비즈니스 및 인프라 파급 영향
본 취약점은 CVSS 9.8의 치명적(Critical) 등급으로 평가되었으며, CISA의 KEV(Known Exploited Vulnerabilities) 목록에 등재되어 실제 야생(In-the-wild)에서 활발히 악용되고 있음이 확인되었습니다. 공격자가 root 권한을 획득할 경우 NAS 장비 내에 저장된 모든 기업 기밀 데이터 및 백업본을 탈취하거나 파괴할 수 있습니다. 더 나아가 해당 장비를 내부 네트워크 침투를 위한 거점(Pivot Point)으로 활용하거나 랜섬웨어를 유포하는 경로로 악용할 수 있어 비즈니스 연속성에 치명적인 피해를 초래합니다.
공식 보안 권고문 및 참조 링크
Multiple ZyXEL network-attached storage (NAS) devices running firmware version 5.21 contain a pre-authentication command injection vulnerability, which may allow a remote, unauthenticated attacker to execute arbitrary code on a vulnerable device. ZyXEL NAS devices achieve authentication by using the weblogin.cgi CGI executable. This program fails to properly sanitize the username parameter that is passed to it. If the username parameter contains certain characters, it can allow command injection with the privileges of the web server that runs on the ZyXEL device. Although the web server does not run as the root user, ZyXEL devices include a setuid utility that can be leveraged to run any command with root privileges. As such, it should be assumed that exploitation of this vulnerability can lead to remote code execution with root privileges. By sending a specially-crafted HTTP POST or GET request to a vulnerable ZyXEL device, a remote, unauthenticated attacker may be able to execute arbitrary code on the device. This may happen by directly connecting to a device if it is directly exposed to an attacker. However, there are ways to trigger such crafted requests even if an attacker does not have direct connectivity to a vulnerable devices. For example, simply visiting a website can result in the compromise of any ZyXEL device that is reachable from the client system. Affected products include: NAS326 before firmware V5.21(AAZF.7)C0 NAS520 before firmware V5.21(AASZ.3)C0 NAS540 before firmware V5.21(AATB.4)C0 NAS542 before firmware V5.21(ABAG.4)C0 ZyXEL has made firmware updates available for NAS326, NAS520, NAS540, and NAS542 devices. Affected models that are end-of-support: NSA210, NSA220, NSA220+, NSA221, NSA310, NSA310S, NSA320, NSA320S, NSA325 and NSA325v2
자주 묻는 실무 질문 (FAQ — CVE-2020-9054)
FAQQ1. CVE-2020-9054 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2020-9054의 기본 점수는 CVSS 9.8 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 100.0%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.
Q2. CVE-2020-9054에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 zyxel이며, 대상 컴포넌트는 nas326, nas520, nas540, nas542, nsa210, nsa220, nsa220+, nsa221, nsa310, nsa310s, nsa320, nsa320s, nsa325, nsa325v2입니다. 상세 영향 범위: ZyXEL NAS326(V5.21(AAZF.7)C0 미만), NAS520(V5.21(AASZ.3)C0 미만), NAS540(V5.21(AATB.4)C0 미만), NAS542(V5.21(ABAG.4)C0 미만) 및 기술 지원이 종료된 NSA 시리즈(NSA210, NSA220, NSA220+, NSA221, NSA310, NSA310S, NSA320, NSA320S, NSA325, NSA325v2)
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] 영향받는 활성 모델은 최신 보안 패치 버전으로 즉시 업그레이드하고, 단종된 모델은 네트워크에서 격리하거나 장비를 교체하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2020-9054 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (zyxel)
동일 카테고리 전체 보기 →Zyxel GS1900 시리즈 스위치 CGI 스택 버퍼 오버플로우 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-7273)
[영향 대상] Zyxel GS1900-48HPv2 펌웨어 2.90(ABTQ.1)C0 이하 버전
Arista VeloCloud Orchestrator (VCO) 온프레미스 원격 코드 실행 및 권한 우회 취약점 (CVE-2026-16812)
[영향 대상] 온프레미스(On-Premises) 환경에서 운영되는 VeloCloud Orchestrator (VCO) 전체 버전
Ivanti Sentry OS 명령 주입 및 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-10520)
[영향 대상] Ivanti Sentry R10.5.2, R10.6.2, R10.7.1 미만 버전
Fortinet FortiSandbox OS 명령 주입 취약점 (CVE-2026-25089) 긴급 보안 권고
[영향 대상] Fortinet FortiSandbox (5.0.0~5.0.5, 4.4.0~4.4.8, 4.2 전 버전), FortiSandbox Cloud 및 PaaS (5.0.4~5.0.5)
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.