English Advisory →
CVE-2017-98228.8/HIGHCISA KEV 등재CWE-94CWE-94

DotNetNuke (DNN) 쿠키 역직렬화 기반 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2017-9822)

⚡ 패치 명령어 바로가기
영향받는 벤더 / 생태계
dnnsoftware
대상 컴포넌트 / 패키지
dotnetnuke
권고문 발행일
2017-07-20
CVSS v3.1
8.8
HIGH
30일 악용확률
94.8%
FIRST.org
CISA KEV
악용 확인됨

실무자 핵심 요약 (Executive Summary)

SECOPS ASSESSMENT
영향 대상

DotNetNuke (DNN) 9.1.1 미만 버전의 모든 웹 애플리케이션 서버

파급 효과

공격자가 조작된 쿠키 값을 전송하여 서버 권한으로 임의의 .NET 객체를 역직렬화하고 원격 코드 실행(RCE)을 수행할 수 있음

권장 조치

DNN 플랫폼을 최신 안정 버전(9.1.1 이상)으로 즉시 업그레이드하고, 취약한 쿠키 매개변수를 차단하는 WAF 룰을 적용하십시오

영향받는 제품 및 버전 범위

DotNetNuke (DNN) 9.1.1 미만의 모든 버전 (CVE-2017-9822)

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

패치 및 우회 명령어

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

가장 확실한 해결책은 DNN을 최신 보안 패치가 적용된 버전(9.1.1 이상)으로 업그레이드하는 것입니다. 아래 PowerShell 스크립트를 사용하여 현재 설치된 DNN 버전을 확인하고 업그레이드를 준비하십시오.

powershell
# DNN 설치 디렉터리 내 DotNetNuke.dll 버전을 확인하여 취약 여부 점검
$dllPath = 'C:\inetpub\wwwroot\bin\DotNetNuke.dll'
if (Test-Path $dllPath) {
    $versionInfo = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($dllPath)
    Write-Host 'Current DNN Version:' $versionInfo.ProductVersion
    # 9.1.1 미만 버전인 경우 경고 출력
    if ([System.Version]$versionInfo.ProductVersion -lt [System.Version]'9.1.1') {
        Write-Warning 'Vulnerable DNN version detected! Please upgrade to 9.1.1 or higher.'
    } else {
        Write-Host 'DNN version is secure.' -ForegroundColor Green
    }
}

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

즉각적인 업그레이드가 어려운 경우, IIS URL 재작성(URL Rewrite) 모듈을 사용하여 취약한 쿠키 패턴이 포함된 요청을 차단하거나, WAF(웹 애플리케이션 방화벽)에서 역직렬화 가젯 패턴을 필터링해야 합니다. 아래는 IIS web.config에 적용할 수 있는 차단 규칙 예시입니다.

xml
<!-- IIS web.config의 <system.webServer> 섹션 내에 추가 -->
<rewrite>
  <rules>
    <rule name='Block_DNN_Deserialization_Exploit' stopProcessing='true'>
      <match url='.*' />
      <conditions>
        <!-- 쿠키 내에 .NET 역직렬화 가젯 흔적(ObjectDataProvider, ObjectDataSource 등)이 있는지 검사 -->
        <add input='{HTTP_COOKIE}' pattern='(ObjectDataProvider|ObjectDataSource|System\.Windows\.Data|System\.IO\.MemoryStream)' />
      </conditions>
      <action type='CustomResponse' statusCode='403' statusReason='Forbidden' statusDescription='Malicious request blocked by security policy.' />
    </rule>
  </rules>
</rewrite>

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

IIS W3C 로그에서 비정상적으로 긴 쿠키 값이나 역직렬화 관련 키워드가 포함된 요청을 탐지하는 PowerShell 스크립트입니다.

powershell
# IIS 로그 디렉터리에서 역직렬화 공격 시도 탐색
$logPath = 'C:\inetpub\logs\LogFiles\W3SVC1\*.log'
$suspiciousKeywords = @('ObjectDataProvider', 'ObjectDataSource', 'typeof', 'MethodName')

foreach ($file in Get-ChildItem $logPath) {
    Write-Host 'Scanning file:' $file.Name
    foreach ($keyword in $suspiciousKeywords) {
        Select-String -Path $file.FullName -Pattern $keyword | ForEach-Object {
            Write-Host '[ALERT] Suspicious activity detected:' $_.Line -ForegroundColor Red
        }
    }
}
실무자 패치 대응 자가 점검 체크리스트
0/4 (0%)
권장 아키텍처 방어 통제 (Recommended Security Control)
Cloudflare Enterprise & Pro WAF
DNN 버전을 즉시 9.1.1 이상으로 업그레이드하고, 외부 노출된 웹 서버 전면에 WAF를 배치하여 쿠키 기반의 역직렬화 공격 페이로드를 차단하십시오.

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

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

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

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

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

본 취약점(CVE-2017-9822)은 .NET 기반의 오픈소스 CMS인 DotNetNuke(DNN)에서 발생하는 심각한 역직렬화(Deserialization) 취약점입니다. DNN은 사용자 세션 및 개인화 설정을 관리하기 위해 특정 쿠키 값을 사용하며, 이 과정에서 입력값에 대한 엄격한 검증 없이 .NET의 XmlSerializer 또는 ObjectStateFormatter 등을 통해 역직렬화를 수행합니다. 공격자가 조작된 XML/JSON 페이로드를 쿠키에 주입하면, 서버가 이를 객체로 복원하는 과정에서 악의적인 시스템 명령어가 실행됩니다.

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

공격자는 인증된 사용자 또는 비인증 상태에서 DNN 서버가 처리하는 특정 쿠키(예: dnn_IsMobile 또는 개인화 관련 쿠키)를 식별합니다. 이후 .NET 역직렬화 가젯 체인(예: System.Windows.Data.ObjectDataProvider 또는 System.Web.UI.WebControls.ObjectDataSource)을 활용하여 임의의 시스템 명령을 실행할 수 있는 XML 페이로드를 구성합니다. 이 페이로드를 Base64 또는 URL 인코딩하여 쿠키 값으로 전송하면, 서버 측의 취약한 역직렬화 루틴이 실행되면서 웹 서버(IIS) 프로세스 권한(일반적으로 IIS_IUSRS 또는 Network Service)으로 코드가 실행됩니다.

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

본 취약점은 CISA KEV(Known Exploited Vulnerabilities)에 등재될 만큼 실제 공격에 활발히 악용된 고위험 취약점입니다. 공격자가 웹 서버의 제어권을 완전히 획득할 수 있으며, 이를 통해 내부 데이터베이스(SQL Server)의 기밀 데이터 탈취, 웹셸(WebShell) 업로드를 통한 지속성 확보, 내부망 침투를 위한 피벗 포인트(Pivot Point) 활용 등 기업 인프라 전반에 치명적인 피해를 초래할 수 있습니다.

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

자주 묻는 실무 질문 (FAQ — CVE-2017-9822)

FAQ

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

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

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

주요 영향 벤더는 dnnsoftware이며, 대상 컴포넌트는 dotnetnuke입니다. 상세 영향 범위: DotNetNuke (DNN) 9.1.1 미만의 모든 버전 (CVE-2017-9822)

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

[권장 조치] DNN 플랫폼을 최신 안정 버전(9.1.1 이상)으로 즉시 업그레이드하고, 취약한 쿠키 매개변수를 차단하는 WAF 룰을 적용하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.

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

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

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

보고서 초안 생성하기 →

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

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

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

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

Slack / Teams / RSS 리더 연동:
패치 명령EN
CVE-2017-9822 DotNetNuke (DNN) 쿠키 역직렬화 기반 원격 코드 실행(RCE) 취약점 분석 및 대응 가이드 (CVE-2017-9822) (CVSS 8.8) - 패치 및 보안 권고 | CVE Pulse