CISA KEV 등재된 CVE-2016-3081: 레거시 시스템의 새로운 위협

2016년에 공개된 Apache Struts 취약점이 다시 주목받고 있습니다. 이 취약점이 CISA KEV(Known Exploited Vulnerabilities) 목록에 등재되면서 실제 환경에서 악용되고 있음이 확인됐기 때문입니다. 특히 레거시 애플리케이션을 운영하는 조직이라면 과거의 취약점이라 방치했다가는 이미 공개된 익스플로잇을 이용한 공격으로 심각한 보안 사고로 번질 수 있습니다. 점검이 시급한 시점입니다.

CVE-2016-3081 취약점 개요 및 원인

CVE-2016-3081은 Apache Struts에서 발생하는 명령 주입(Command Injection) 취약점입니다. Apache Struts 공식 공지에서 S2-032라는 명칭으로 안내하고 있습니다.

핵심 원인은 동적 메서드 호출(Dynamic Method Invocation, DMI) 설정에 있습니다. 시스템에서 DMI가 활성화되어 있으면 공격자가 method: 접두어를 붙인 요청만으로 원격에서 임의의 코드를 실행(Remote Code Execution, RCE)할 수 있습니다.

이 취약점은 단순한 이론적 가능성에 그치지 않습니다. Exploit-DB에 Nixawk가 작성한 Metasploit 모듈이 공개되어 있어 공격자 입장에서 원격 명령 실행을 재현하기가 어렵지 않은 환경입니다. 공격 진입 장벽이 그만큼 낮다는 뜻이고, 패치가 적용되지 않은 레거시 시스템은 상시적인 위협에 노출되어 있다고 보는 게 맞습니다.

CISA KEV 등재 및 실제 악용 위험성

미국 사이버보안 및 인프라 보안국(CISA)은 실제 악용 사례가 확인된 취약점을 KEV(Known Exploited Vulnerabilities) 목록으로 관리합니다. CVE-2016-3081은 ‘Apache Struts Command Injection Vulnerability’라는 명칭으로 이 목록에 올라와 있습니다.

KEV 등재가 보안 관리자에게 주는 경고는 세 가지입니다.

  1. 실제 악용 확인: 이론적인 취약점이 아니라 실제 공격자가 공격 도구로 활용해 시스템을 침해한 사례가 확인됐다는 의미입니다.
  2. 타겟팅 가능성: 레거시 시스템은 특성상 업데이트가 지연되는 경우가 많아 공격자들에게 효율적인 공격 대상이 됩니다.
  3. 긴급 대응 필요성: CISA KEV 등재 취약점은 우선 조치 대상인 고위험군으로 분류됩니다. 단순한 버전 관리 차원을 넘어 긴급 보안 패치로 다루는 게 맞습니다.

영향 버전 분석 및 출처별 차이점

CVE-2016-3081의 영향 버전은 참조하는 출처에 따라 조금씩 다릅니다. 보안 관리자라면 보수적인 관점에서 두 기준을 모두 검토해 점검 범위를 넓게 잡는 쪽이 안전합니다.

Apache 공식 공지(S2-032)와 CVE 공식 기록이 제시하는 영향 버전은 다음과 같습니다.

구분 영향 버전 범위 비고 (제외 버전 등)
Apache 공식 공지 (S2-032) 2.3.20 ~ 2.3.28 수정 버전 2.3.20.3, 2.3.24.3 제외
CVE 공식 기록 2.3.19 ~ 2.3.20.2, 2.3.21 ~ 2.3.24.1, 2.3.25 ~ 2.3.28 –

표에서 보듯 CVE 공식 기록은 2.3.19 버전부터 영향을 받는 것으로 명시하고 있고, Apache 공지는 2.3.20부터로 잡고 있습니다. Apache 공지 쪽에서는 특정 수정 버전(2.3.20.3, 2.3.24.3)을 영향 범위에서 제외했습니다. 지금 운영 중인 Apache Struts 2.3.x 버전이 이 범위 안에 들어 있는지 정밀한 전수 조사가 필요합니다.

대응 방안: 패치 및 DMI 비활성화

이 취약점에 대해 벤더와 보안 전문가들이 제시하는 대응 방안은 크게 두 가지입니다.

1. 보안 패치 적용 및 버전 업그레이드

가장 확실한 해결책은 취약점이 해결된 버전으로 업데이트하는 것입니다. 벤더가 제시한 패치 및 업그레이드 대상 버전은 다음과 같습니다.

  • 2.3.20.3
  • 2.3.24.3
  • 2.3.28.1

운영 중인 환경의 제약 사항에 맞춰 위 버전 중 하나로 업데이트하면 명령 주입 취약점을 근본적으로 제거할 수 있습니다.

2. DMI(Dynamic Method Invocation) 비활성화

즉시 버전 업그레이드가 어려운 환경이거나 시스템 구조상 DMI 기능이 필요하지 않다면 DMI를 비활성화하는 방법을 권합니다.

CVE-2016-3081의 공격 메커니즘은 DMI가 활성화된 상태에서 method: 접두어를 이용하는 방식입니다. DMI를 비활성화하는 것만으로도 공격 경로를 차단하는 유효한 완화 조치가 됩니다.

보안 관리자라면 지금 운영 중인 레거시 애플리케이션의 Apache Struts 버전을 즉시 확인하고, KEV 등재가 주는 위험 수준을 인지한 뒤 패치 또는 DMI 비활성화 조치로 빠르게 넘어가는 것이 맞습니다.

댓글 남기기