CVE-2016-3081은 공개 연도가 2016년인 Apache Struts 결함이면서도 CISA의 Known Exploited Vulnerabilities(KEV) 카탈로그에 등재되어 있습니다. 이 글은 확인된 사실과 이번 근거로 확인되지 않은 부분을 나눠, 어떤 조건에서 성립하는 결함인지, 그래서 점검을 어디서부터 시작해야 하는지 정리합니다.
개요

CVE-2016-3081은 Apache Struts에서 보고된 명령 주입(command injection) 취약점입니다. CVE Project 레코드에는 Apache Struts 2.3.19 to 2.3.20.2, 2.3.21 to 2.3.24.1, and 2.3.25 to 2.3.28에서 Dynamic Method Invocation(DMI)이 활성화된 상태라면 원격 공격자가 method: 접두사를 통해 임의 코드를 실행할 수 있다고 기록되어 있습니다.
이 레코드의 출처 식별자는 secalert@redhat.com이고 공개 시각은 2016-04-26로 표기되며, 같은 항목이 NVD CVE API 2.0 기록에서도 확인됩니다. NVD 기록의 마지막 수정 시점은 2026-10-09로 표기되어 있어, 이 CVE 항목의 레코드가 그 시점까지 갱신된 상태로 유지되고 있음을 확인할 수 있습니다.
CISA는 이 결함을 Apache Struts Command Injection Vulnerability라는 제목으로 KEV 카탈로그에 등재했습니다. KEV 등재는 CISA가 이 취약점을 실제 공격에 사용된 것으로 판단해 목록에 올렸다는 뜻입니다. 즉 공개연도가 오래됐다는 사실만으로 대응 우선순위에서 자동으로 밀려나야 할 이유는 되지 않습니다.
영향 범위
이 취약점은 버전 조건과 구성 조건이 겹칠 때만 성립합니다.
- Apache Struts 2.3.19 ~ 2.3.20.2
- Apache Struts 2.3.21 ~ 2.3.24.1
- Apache Struts 2.3.25 ~ 2.3.28
- 전제 조건: Dynamic Method Invocation(DMI) 활성화
버전이 위 구간 안에 있다는 사실만으로 노출이 확정되지는 않습니다. 실제 성립 여부를 판단하려면 DMI 설정까지 함께 확인해야 합니다. 반대로 버전이 확인되지 않은 자산은 DMI 설정을 확인할 이유 자체가 되므로, 사용 버전을 모르는 시스템에서는 버전 확인과 DMI 구성 확인을 동시에 진행하는 편이 빠릅니다.
2016년 공개라는 사실만으로 새로운 배포판과 오래된 시스템 중 어느 쪽이 위험한지, 또는 유지보수가 중단된 자산·내부망 자산의 노출 정도를 단정할 수는 없습니다. 다만 근거가 확인한 조건이 버전과 구성 두 가지이므로, 조직의 자산 목록을 기준으로 이 조건에 해당하는 시스템이 남아 있는지부터 확인하는 방식으로 점검 순서를 정할 수 있습니다. 같은 계열 버전을 쓰는 서비스가 인터넷에 노출되어 있다면, KEV 등재 사실을 감안해 그 자산부터 확인하는 것이 합리적입니다.
기술적 분석
제공된 근거가 확인하는 취약 조건
CVE 레코드의 서술 범위는 명확합니다. Dynamic Method Invocation이 활성화된 상태의 Apache Struts 2.3.19 ~ 2.3.20.2, 2.3.21 ~ 2.3.24.1, 2.3.25 ~ 2.3.28에서 원격 공격자가 method: 접두사를 통해 임의 코드를 실행할 수 있다는 것입니다. CISA KEV 카탈로그의 등재 문구도 같은 조건을 remote attackers가 method:prefix로 임의 코드를 실행할 수 있는 명령 주입 취약점으로 적시합니다. 따라서 이 결함은 영향 버전과 DMI 활성화라는 조건이 함께 성립할 때의 문제로 보는 것이 제공된 근거에 맞습니다.
원격 코드 실행 가능성과 KEV 등재
두 조건이 충족된 시스템에서 원격 공격자가 임의 코드를 실행할 수 있다는 점이 근거가 확인하는 영향입니다. 여기에 더해 확인할 수 있는 사실은 CISA KEV 등재 하나입니다. 코드 실행 가능성이라는 영향과 악용 확인이라는 판정이 함께 놓이기 때문에, 이 취약점은 정보 노출 수준의 결함으로 취급할 근거가 없습니다.
다만 공격에 필요한 사전 단계나 침투 절차, 실행 이후의 구체적인 영향에 대한 내용은 이번 근거에 포함되어 있지 않아, 그 범위에 대해서는 이 글에서 추정하지 않습니다.
악용 상태와 입증 범위
현재 근거에서 확인되는 악용 관련 사실은 CISA KEV 카탈로그 등재 하나입니다. 이는 제3자 관점에서 악용이 확인된 것으로 판단할 수 있는 근거입니다.
다만 그 범위를 넓혀 해석하면 안 됩니다. 구체적인 악용 시점, 공격 그룹, 실제 침해 사례는 이번 증거에 포함되어 있지 않고, KEV 등재 사실만으로 악용이 확인된 것으로 판단한 상태입니다. 따라서 특정한 공격 캠페인이나 위협 행위자와 연결 지어 설명하는 것은 이 근거로는 불가능하며, 악용 정황을 공격자 단위로 좁힐 수도 없습니다.
이번 근거로 알 수 없는 것
- 정확한 수정(fixed) 버전 번호와 벤더가 권고하는 업그레이드 경로는 이번 증거에 없습니다.
- CVE-2016-3081의 CVSS 점수와 심각도 등급이 근거에 없어, 다른 취약점과의 정량적인 위험 비교는 하지 않았습니다.
- 실제 악용 시점·공격 그룹·침해 사례 등 in-the-wild 상세 정보가 없습니다.
- 공개 PoC나 상세 기술 분석 자료는 이번 수집에서 발견되지 않아, 익스플로잇 코드의 형태나 우회 기법에 대한 분석은 불가능합니다.
- DMI 비활성화가 완전한 완화인지 여부도 이번 근거에서는 확인되지 않습니다.
대응 방안
확인으로 좁히는 1단계
- 자산 대장에서 Struts 사용 여부와 위 세 개의 영향 구간(2.3.19 ~ 2.3.20.2, 2.3.21 ~ 2.3.24.1, 2.3.25 ~ 2.3.28) 해당 여부를 확인합니다. 버전 정보가 대장에 없는 시스템이 실제로는 영향 범위에 있을 수 있어, 이런 자산부터 조사 대상에 올립니다.
- 영향 구간에 해당하는 시스템의 Dynamic Method Invocation 활성화 구성을 확인합니다. 버전만 확인하고 구성을 보지 않은 점검은 노출 판단을 절반만 한 것입니다.
- 인터넷에 노출된 Struts 기반 서비스 가운데 두 조건이 겹치는 자산은 KEV 등재 사실을 감안해 격리나 차단 대상부터 검토해볼 수 있습니다. 이는 제공된 근거가 확인한 사실과 KEV 등재라는 판정을 연결한 운영 판단의 예시이며, 벤더가 제공한 대응 지침은 아닙니다.
로그·탐지 항목의 한계
제공된 근거는 취약 조건과 원격 코드 실행 가능성, 그리고 CISA KEV 카탈로그 등재 사실까지만 확인합니다. 구체적인 로그 항목, 탐지 규칙, 감시 지표에 대한 내용은 이 근거에 제시되어 있지 않아, 이 글에서는 특정한 로그 필드나 탐지 규칙, 모니터링 지침을 안내할 수 없습니다.
실제 대응에서 이런 항목을 다뤄야 한다면, 이 글의 범위를 넘어서는 별개의 공식 자료와 자체 점검 결과로 확인해야 합니다. 근거에서 확인할 수 있는 상태 정보는 이 CVE가 KEV 카탈로그에 등재되어 있다는 사실 자체이며, 여기서 특정한 탐지 규칙의 효과나 우선순위가 자동으로 정해지지는 않습니다.
대응 지침이 닿지 않는 범위
이번 근거에는 정확한 수정 버전 번호와 벤더 권고 업그레이드 경로, DMI 비활성화의 완화 효과에 대한 확인이 포함되어 있지 않습니다. 따라서 완화를 포함한 후속 조치 지침은 이 글에서 지원되는 범위가 아니며, 확인 범위를 넘는 내용은 벤더 공식 자료로 확인해야 할 항목으로만 남깁니다.
참고자료
- CVE-2016-3081 JSON record
- Known Exploited Vulnerabilities Catalog - CVE-2016-3081 entry
- NVD CVE API 2.0 record for CVE-2016-3081
함께 읽으면 좋은 글
- CVE-2023-22894: Strapi 민감정보 평문 저장 결함의 KEV 등재와 확인 필요한 사항
- CVE-2026-118527: Ivanti Connect Secure 예측 가능한 식별자와 파일 업로드 체인 KEV 등재 점검
- CVE-2026-118550 Drupal AI 모듈 접근 우회(SA-CONTRIB-2026-270) 분석과 점검
본 콘텐츠는 AI 기술로 작성된 분석 리포트를 포함하고 있습니다. 내용 중 사실과 다르거나 보완이 필요한 정보를 발견하셨으면 댓글을 통해 의견을 부탁드립니다. 여러분의 피드백은 더 정확한 보안 정보 공유에 큰 도움이 됩니다.
댓글 (0)
댓글을 작성하려면 로그인이 필요합니다.
로그인아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!