DEEP DIVE REPORT

CVE-2016-3081: Apache Struts 명령 주입 취약점의 KEV 등재와 레거시 애플리케이션 점검

SecurityDesk
• 2026.10.09 • 조회 2

2016년에 공개된 Apache Struts 취약점 CVE-2016-3081은 시간이 지났음에도 점검 가치가 있습니다. CISA KEV 등재로 실제 악용이 확인되었고 공개 익스플로잇 모듈도 존재하기 때문입니다. 이 글은 확인된 사실과 전제 조건을 바탕으로, 어떤 환경에서 어떤 순서로 점검과 대응에 나서야 하는지를 정리합니다.

개요

개요 인포그래픽
CVE-2016-3081은 Apache Struts에서 Dynamic Method Invocation(DMI, 동적 메서드 호출)이 활성화된 경우 method: 접두어를 이용해 원격 공격자가 임의 코드를 실행할 수 있는 명령 주입 취약점입니다. CISA KEV 목록에는 이 취약점이 'Apache Struts Command Injection Vulnerability'로 등재되어 있으며, 실제 악용이 확인된 취약점으로 분류됩니다.

이 취약점은 Nike Zheng이 보고했으며, Apache Struts 공식 공지에서는 S2-032 명칭으로 해당 취약점과 완화 방법을 안내하고 있습니다. 2016년 공개 이후 상당한 시간이 지났지만, KEV 등재와 공개 익스플로잇의 존재는 이 취약점을 한 번의 점검으로 끝내는 것이 아니라 운영 환경에 따라 반복 점검 대상으로 만드는 요인입니다.

영향 범위

영향 버전에 대해 두 출처의 표기가 다릅니다. CVE 공식 기록은 2.3.19~2.3.20.2, 2.3.21~2.3.24.1, 2.3.25~2.3.28을 나열하고, Apache 공식 공지(S2-032)는 2.3.20~2.3.28(수정 버전 2.3.20.3과 2.3.24.3 제외)으로 표기합니다. 시작점과 예외 버전에 차이가 있으므로, 정확한 자산 스크리닝 범위를 정할 때는 벤더 문서 원문을 대조해 확인하는 것이 좋습니다.

두 출처 모두 이 취약점을 DMI가 활성화된 구성이라는 조건과 함께 명시합니다. 제공 근거의 범위로 보면 DMI 활성화는 취약점 성립 조건이며, DMI 비활성화 환경에서 이 경로가 절대 성립하지 않는다고 단정하기는 어렵습니다. 다만 벤더 권고에도 '가능한 경우 DMI 비활성화'가 포함되므로, DMI 상태를 확인하는 것은 점검의 방향을 정하는 기준이 됩니다. 조직 내 각 자산의 실제 DMI 활성화 여부와 운영 버전 분포는 자료로 확인되지 않으므로 조직별 확인이 필요합니다.

확인된 영향은 원격 공격자가 임의 코드를 실행할 수 있다는 수준입니다. KEV 등재와 공개 익스플로잇이라는 두 사실이 결합되면 노출된 레거시 시스템은 단순 취약점 목록 항목이 아니라 우선 점검 대상이 됩니다.

기술적 분석

CVE 기록은 method: prefix와 chained expressions(체인 표현식)의 관계를 명시하며, DMI가 활성화된 조건에서 원격 공격자가 임의 코드를 실행할 수 있다고 기술합니다. 공개 익스플로잇도 method: 접두어 기반 원격 명령 실행으로 기술되어 두 출처가 동일한 경로를 가리킵니다. 이번 자료에는 그 밖의 구체적 공격 흐름이 포함되지 않으므로, 추가적인 동작 메커니즘은 출처 원문 확인이 필요합니다.

DMI가 활성화된 구성이 이 취약점의 영향 조건이므로, 점검에서는 각 자산의 DMI 활성화 여부부터 확인하는 것이 방향이 됩니다. 버전만 확인하는 스크리닝보다 이 전제 여부를 함께 확인하는 것이 실제 위험을 가르는 기준이 되기 때문입니다. DMI 활성 여부가 불분명한 자산에서 점검 우선순위를 시작하는 것이 합리적입니다.

공개 PoC·익스플로잇 분석

  • 출처: Exploit-DB에 게재된 Metasploit 모듈(Nixawk 작성)
  • 전제 조건: DMI가 활성화된 Apache Struts 2.3.20~2.3.28 환경(모듈 설명상 2.3.20.2와 2.3.24.2 제외)
  • 입증 범위: method: 접두어를 통한 원격 명령 실행(RCE) 재현
  • 제공 근거로 확인되는 사실: 실행 가능 모듈이 공개되어 있고, CISA KEV에 이 취약점이 등재되어 실제 악용 상태가 확인되었습니다. 이 두 사실은 확인된 항목이며, 그 이상의 공격 가능성 평가는 이번 자료 범위에 포함되지 않습니다.

분석 한계

다음은 이번 자료로 확인되지 않는 부분입니다.

  • KEV 등재 기준일과 최초 악용 확인 시점: 인용 가능한 KEV 발췌에 날짜가 포함되지 않아 악용 타임라인의 정확한 기준을 제공하지 못합니다.
  • 버전 경계의 최종 해석: CVE 기록과 Apache 공지 간 표기 차이(2.3.19 시작 여부, 2.3.20.2/2.3.24.2 예외 처리)는 벤더 문서 원문 확인이 필요합니다.
  • 최근 악용 동향: KEV 등재와 공개 익스플로잇의 존재는 확인되었으나, 구체적인 최근 악용 그룹이나 캠페인 동향은 이번 자료 범위에 포함되지 않습니다.
  • 패치 적용 검증: 레거시 환경에서 수정 버전 업그레이드 시 애플리케이션 동작 영향(회귀) 검증이 실무상 제약으로 남아 있습니다.

대응 방안

벤더 권고와 확인된 사실을 바탕으로 다음 순서로 진행할 수 있습니다.

  • 자산 목록 확정: Struts 2.3.x를 사용하는 모든 레거시 애플리케이션 목록을 먼저 확정합니다.
  • DMI 상태 점검: 영향 조건인 DMI가 각 자산에서 활성화되어 있는지 확인합니다.
  • 조치 창구 배정: 영향 버전(2.3.20~2.3.28, 수정 버전 제외)이 확인되면 패치 또는 임시 완화 등 조치 창구를 즉시 배정합니다.

벤더가 제시한 장기 대응은 다음입니다.

  • 2.3.20.3, 2.3.24.3 또는 2.3.28.1로의 업그레이드
  • 가능한 경우 DMI 비활성화

참고자료

함께 읽으면 좋은 글

본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.

댓글 (0)

댓글을 작성하려면 로그인이 필요합니다.

로그인

아직 댓글이 없습니다.

첫 번째 댓글을 작성해보세요!

IT 도구 서랍

→ Unix: 2025-01-15T09:30:00
→ 날짜: 1736934600

→ ASCII: ABC
→ 문자: 65 66 67

ASCII 코드표 — 클릭하면 입력란에 추가

DecHex약어설명
DecHex문자
DecHex문자

→ 유니코드: 홍길동
→ 문자: \ud64d\uae38\ub3d9