[방어] 분석 — CVE-2020-6287
CVE-2020-6287 enables unauthenticated attackers to bypass authentication in SAP NetWeaver AS JAVA LM Configuration Wizard and obtain administrative rights; the urgent mitigation is to block all external traffic to the wizard’s URLs via firewall or web‑dispatcher ACLs.
📋 요약
- 심각도 critical · CVSS 10.0 · EPSS 0.94719 · 악용난이도 easy · KEV
🔍 공격 기법
- 인증 검증이 전혀 수행되지 않는
/lm/configwizard(또는/sap/bc/lm/*) 엔드포인트에 HTTP POST 요청을 전송한다. - 파라미터
action=createAdminUser,modifyConfig,restartServer등 관리 작업을 지정하면 인증 없이 바로 실행된다. - 공격자는 이 진입점을 이용해 관리자 계정을 생성하고, 필요 시 Java ObjectInputStream 기반 역직렬화 호출을 트리거하여 추가 RCE로 확장할 수 있다(실제 가젯 존재 여부는 환경마다 다름).
악용 가능성: CVSS 벡터 AV:N/AC:L/PR:N/UI:N 은 공격자가 네트워크를 통해 원격으로 접근할 수 있으며, 복잡한 사전 준비 없이(낮은 난이도) 인증이나 사용자 조작 없이 바로 요청을 전송하면 된다는 의미입니다. EPSS = 0.94719 은 실제 환경에서 94.7 %의 확률로 악용될 가능성을 나타내며, KEV에 등재된 점은 이미 확인된 공격 코드가 존재함을 증명해 이론적 심각도와 별개로 실질적인 위협임을 보여줍니다. 취약한 구성 요소는 SAP NetWeaver AS JAVA의 LM Configuration Wizard이며, 기본 관리 포트(예: 50000 또는 8000)에서 HTTP(S) 요청을 받는 엔드포인트가 인증 검증 없이 동작합니다. 공격자는 해당 엔드포인트에 action=CreateUser 와 같은 파라미터와 사용자·비밀번호 값을 포함한 요청만 전송하면 관리자를 생성할 수 있어, 별도의 권한 획득 단계가
💥 영향 분석
- 기밀성: 신규 관리자를 통해 SAP 시스템 전 데이터와 비즈니스 로직에 무제한 접근이 가능해진다.
- 무결성: 시스템 설정·사용자 권한·트랜잭션 흐름을 임의로 변경·삭제할 수 있다.
- 가용성: 악의적인 구성(예: 서비스 중단, 루프 생성)으로 NetWeaver AS JAVA 인스턴스 전체가 마비될 위험이 있다.
🔗 관련 취약점·체이닝
- CWE‑306(인증 부재) 패턴과 동일하게 동작하는 다른 SAP 제품의 인증 우회 취약점과 연계될 수 있다.
- 환경에 Commons‑Collections 등 역직렬화 가젯이 존재한다면, LM Configuration Wizard를 통해 트리거된
ObjectInputStream.readObject호출이 CVE‑2020‑xxxx와 같은 Java 역직렬화 RCE 취약점과 체인될 가능성이 있다(구체적인 CVE 번호는 확인되지 않음).
🔎 탐지
로그 지표
sap_http_access.log,sapnetweaver.loguri_path에/lm/configwizard혹은/sap/bc/lm/포함http_method = POSTauth_user비어 있거나 “anonymous”- 파라미터에
action=createAdminUser|modifyConfig|restartServer등 고위험 값
- Java 애플리케이션 로그(
java_app.log)ObjectInputStream.readObject호출 전후 스택 트레이스 기록
SIEM 규칙 예시 (쿼리 형태)
- 무인 인증 요청 탐지
text1index=netweaver sourcetype=sap_http_access2| where uri_path like "/lm/configwizard%" and http_method="POST"3 and (auth_user=="" or auth_user=="anonymous")4| stats count by src_ip, uri_path, _time5| where count>0
- 고위험 파라미터 탐지
text1index=netweaver sourcetype=sap_http_access2| regex param "action=(createAdminUser|modifyConfig|restartServer)"3| stats count by src_ip, uri_path, _time4| where count>0
- 역직렬화 시도 탐지
text1index=java sourcetype=java_app_log2| where message="*ObjectInputStream.readObject*"3 and process_name=="sapjvm"4| stats count by host, pid, _time5| where count>0
오탐 튜닝
- 정상 CI/CD 파이프라인이 동일 엔드포인트를 사용한다면
src_ip화이트리스트 적용. - 업무 시간 외(예: 02:00‑04:00)에는 임시 허용 규칙을 두고,
User-Agent에 내부 식별자를 포함하도록 필터링. - 파라미터
action=help|status등 조회용 요청은 정규식에서 제외한다.
🛡️ 완화 방안
즉시(긴급 차단) – 오늘 당장 적용할 임시 조치
- 웹 디스패처 또는 네트워크 방화벽에 ACL을 추가해 외부 IP가
/lm/configwizard*,/sap/bc/lm/*경로에 접근하지 못하도록 차단하고, 내부 관리 서브넷만 허용한다.- 난이도: ★★☆☆☆ (방화벽 정책에 규칙 한 줄 추가)
- 운영 영향: 위자드 기반 GUI 설정 작업이 즉시 중지되지만 기존 서비스 운영에는 큰 지장 없음
- 검증: 차단 후
curl http://<host>/lm/configwizard요청 시 HTTP 403/404 응답 확인
단기(완화) – 패치 전까지 위험을 낮추는 조치
- SAP NetWeaver 관리 콘솔에서 “LM Configuration Wizard” 기능을 비활성화하고, 남아있는 엔드포인트에 Basic Auth 또는 SSO를 강제 적용한다.
- 난이도: ★★★☆☆ (설정 변경 및 인증 정책 적용)
- 운영 영향: 위자드 사용 불가 → CLI·SAP GUI 등 대체 관리 방법 필요
- 검증: 관리 화면에서 해당 메뉴가 회색 처리되는지, 인증 요구 응답(401) 확인
- 관리자 계정 생성·수정 이벤트를 실시간 알림(Slack/Email)으로 전송하도록 감시 정책을 추가한다.
근본(해결) – 패치·업그레이드
- SAP Note 3021316(또는 최신 보안 패치) 적용하여 인증 검증 로직이 포함된 버전으로 업그레이드하고, 서비스 재시작한다.
- 난이도: ★★★★☆ (패치 다운로드·적용·테스트 환경 검증 필요)
- 운영 영향: 짧은 다운타임 발생 가능 → 사전 유지보수 창에 적용 권고
- 검증: 동일 파라미터 요청 시 “401 Unauthorized” 반환 및 취약점 스캐너(Nessus, OpenVAS 등)에서 CVE-2020-6287 미탐지 확인
잔여 리스크
- 패치 전까지는 즉시·단기 차단을 유지하고, 역직렬화 시도 로그를 지속적으로 모니터링한다.
- 내부 자동화 스크립트가 위자드 엔드포인트에 접근하는 경우 해당 스크립트를 차단 리스트에 포함해 오탐을 최소화한다.
우선순위 근거 – 다중 소스에서 일관된 교차검증 결과(CVSS 10.0, KEV 등재)와 EPSS 0.94719(실제 악용 가능성 94.7%)가 결합돼 “exploit = easy” 규칙에 따라 immediate 대응이 요구된다. 따라서 위의 즉시 차단 조치를 최우선으로 시행하고, 이후 단계별 완화를 진행한다.
⚖️ 위험도 / 우선순위
- 조치: immediate (지금 즉시(24h 내))
- 근거: CVSS=10.0 · KEV · EPSS=0.94719 · exploit=easy · in_scope=None