DEEP DIVE REPORT

CVE-2021-3199 ONLYOFFICE Docs 경로 순회 — KEV 등재와 공개 PoC가 뜻하는 점검 순서

SecurityDesk
• 2026.11.03 • 조회 1

CVE-2021-3199는 ONLYOFFICE Docs(Document Server)에서 확인된 경로 순회(path traversal) 취약점입니다. CISA의 Known Exploited Vulnerabilities(KEV) 카탈로그에 등재되어 있어 실제 악용 근거가 있는 취약점으로 분류되고, 결함이 JWT(JSON Web Token)가 사용되는 조건에서 이미지 업로드 요청 경로에 포함된 '/..' 시퀀스를 통해 발생한다는 점이 CISA KEV 카탈로그의 등재 설명으로 확인됩니다. 다만 수정 버전 번호나 심각도 점수처럼 대응 순서에 직접 영향을 주는 일부 값은 이번에 수집된 자료 범위에서 확정되지 않았습니다.

개요

개요 인포그래픽
자료에서 확인되는 사실은 다음으로 정리됩니다.

  • ONLYOFFICE Docs(Document Server)에 경로 순회 결함이 존재합니다.
  • CISA는 이 취약점을 'ONLYOFFICE Docs Server Path Traversal Vulnerability'라는 제목으로 KEV 카탈로그에 등재했습니다. KEV 등재는 미국 연방 기준에서 실제 악용 증거가 있다고 판단된 취약점이라는 의미입니다.
  • 등재 설명에 따르면 결함은 JWT가 사용되는 조건에서, 이미지 업로드 요청 경로에 포함된 '/..' 시퀀스를 통해 발생합니다.
  • 공개 저장소에는 CVE-2021-3199를 이름에 담은 poc_uploadImageFile.py 스크립트가 확인되고, 그 안에서 대상 파일 경로와 리버스 셸 서버 IP를 받는 인자 정의가 확인됩니다.

확인된 두 신호는 서로 다른 종류의 근거입니다. KEV 등재는 연방 기준의 실제 악용 증거를 가리키고, 공개 PoC은 같은 취약점 식별자에 대해 악용을 겨냥한 코드가 공개되어 있다는 사실을 가리킵니다. PoC의 존재 자체가 악용 성공을 증명하는 것은 아니고, KEV 등재가 PoC의 완성도나 동작 범위까지 보증하지도 않습니다. 그래서 아래에서는 확인된 사실과, 거기서 조건부로 말할 수 있는 해석을 분리해 적습니다.

영향 범위

  • 대상 제품은 ONLYOFFICE Docs이고, 배포 형태로는 Document Server가 지목됩니다.
  • 발생 조건은 JWT 인증이 사용되는 구성입니다. 자료 자체가 'JWT가 사용될 때'라는 조건을 붙이고 있으며, JWT를 켜두지 않은 환경에서 같은 업로드 경로가 같은 위험을 갖는지는 이번 자료에서 확인되지 않았습니다.
  • 인용 범위로 확인되는 피해 형태는 이미지 업로드 요청 경로의 '/..' 시퀀스를 이용한 경로 순회입니다. 이 설명을 넘어 특정 파일의 쓰기·실행이나 서버 제어까지 이번 자료로 확인되지는 않았습니다.
  • PoC 스크립트에는 대상 파일 경로를 받는 -t/--target-path 옵션과 리버스 셸 서버 주소를 받는 -ri/--rev-ip 옵션이 정의되어 있고, -t의 기본값으로 /www/onlyoffice/documentserver/server/FileConverter/bin/docbuilder가 적혀 있습니다. 이 값이 어떤 동작으로 이어지는지는 확인된 바 없습니다.

기술적 분석

CISA KEV 등재 설명이 지목하는 악용 지점은 이미지 업로드 요청이 들고 있는 경로 값입니다. 경로 순회라는 결함 유형은, 요청과 함께 들어온 경로 문자열이 애초에 의도된 경계 바깥을 가리키도록 해석될 여지가 있다는 뜻입니다. 등재 설명은 그 구체적인 형태로 '/..' 시퀀스를, 조건으로 JWT 사용을 지목합니다. 여기서 중요한 것은 JWT라는 인증 수단 자체가 취약하다고 말한 자료가 없다는 점입니다. 해석은 'JWT를 사용하는 구성에서 도달 가능한 이미지 업로드 처리 경로에 경로 순회 결함이 있다'는 쪽이 인용 범위에 더 맞습니다.

심각도를 점수로 말하지 못하는 이유도 분명합니다. CVE-2021-3199 JSON 레코드가 제공되지만, 이번에 수집된 인용 범위에는 CVSS 점수와 세부 벡터 값이 확정적으로 담기지 않았습니다. 따라서 이 글은 점수에 대한 판단은 유보하고, CISA KEV 카탈로그에 등재되어 있다는 사실과 같은 CVE 식별자를 담은 공개 PoC 스크립트가 확인된다는 사실, 이 두 가지가 확인된 범위 안에서만 우선순위를 설명합니다.

공개 PoC·익스플로잇 분석

  • 출처: 공개 저장소 nola-milkin의 poc_exploits에 포함된 CVE-2021-3199 poc_uploadImageFile.py입니다. 디렉터리명과 파일명에서 CVE-2021-3199와 이미지 업로드 파일을 다루는 스크립트임이 확인되며, 이는 CISA KEV 등재 설명이 지목한 이미지 업로드라는 지점과 같은 취약점 식별자를 공유합니다.
  • 확인되는 코드 구조: 인용 범위에는 대상 파일 경로를 받는 -t/--target-path 옵션(설명문 'Path to a target file', 기본값 /www/onlyoffice/documentserver/server/FileConverter/bin/docbuilder)과 리버스 셸 서버 IP 주소를 받는 -ri/--rev-ip 옵션, 두 인자 정의가 포함됩니다. 여기서 말할 수 있는 것은 이 스크립트가 대상 경로와 리버스 셸 서버 주소를 입력받도록 작성되어 있다는 점까지입니다.
  • 전제조건: 인자 정의만으로는 어떤 설치 구성에서 어떤 순서로 동작하는지 확인되지 않습니다. 인자가 실제로 값으로 채워져 어떤 동작으로 이어지려면 추가 코드 경로와 실행 환경이 필요하지만, 그 부분은 이번 인용 범위에 포함되지 않았습니다. KEV 등재 설명이 명시한 JWT 사용 구성은 PoC와 별개로 자료에 적힌 조건입니다.
  • 입증 범위: 확인되는 것은 스크립트의 존재, 두 인자의 정의, 그리고 -t 기본값으로 적힌 경로 문자열입니다. 파일이 특정 위치에 놓이는지, 실행으로 이어지는지, 서버가 외부로 연결을 여는지, 어느 버전에서 동작하는지는 이번 자료로 확인할 수 없습니다. 악용 여부의 근거는 PoC가 아니라 KEV 등재 쪽에 더 무게가 있습니다.
  • 운영 의미: 지금 제시 가능한 점검 근거는 CVE-2021-3199 기준으로 자산을 정리하고, 설치 버전과 JWT 사용 여부를 확인하고, 벤더 변경 이력에서 수정 버전 항목을 확인하는 일입니다. PoC의 인자 정의에서 한 걸음 더 들어간 파일 배치나 실행, 연결 단계의 탐지 규칙은 이번 인용 범위로 뒷받침되지 않아 이 글에서는 제시하지 않습니다.

아직 확정되지 않은 사항은 다음과 같고, 대응 계획을 세우기 전에 메워야 할 공백입니다.

  • 수정된 정확한 Document Server 버전 번호. 벤더의 DocumentServer CHANGELOG에서 해당 항목을 직접 확인해 목표 버전을 확정해야 합니다.
  • 공식 CVSS 점수와 세부 벡터.
  • CISA KEV 카탈로그에 기재된 등재일과 조치 기한의 정확한 날짜. 등재 사실은 확인됐지만 날짜 값은 이번 자료에서 확정되지 않아, 컴플라이언스 기한을 계산하려면 원문 확인이 필요합니다.

대응 방안

지금 확인할 것

  • ONLYOFFICE Docs(Document Server)의 설치 버전과 JWT 사용 여부를 확인합니다. 자료상 발생 조건 자체가 JWT 사용이므로, JWT를 사용 중이라면 KEV 등재 취약점이라는 근거를 바탕으로 조직 기준의 점검 순위를 정할 이유가 있습니다.
  • DocumentServer CHANGELOG에서 CVE-2021-3199와 관련된 항목을 직접 확인해 수정 버전을 확정합니다. 목표 버전이 정해져야 업그레이드 대상과 완료 판정이 명확해집니다.
  • KEV 등재 사실은 확인되었지만 등재일과 조치 기한은 확인되지 않았습니다. 기한 기반 기준을 적용해야 한다면 KEV 카탈로그 원문에서 두 날짜를 먼저 확인합니다.

우선순위를 나누는 기준

  • JWT 사용이 확인된 환경: 자료에 명시된 취약 조건에 해당하므로, 버전 확인과 수정 버전 적용을 상위 순위에 두는 것이 합리적입니다.
  • JWT를 사용하지 않거나 관련 업로드 기능을 쓰지 않는 구성: 이번 자료에서 취약 여부가 확인되지 않았습니다. 자동으로 안전하다고 보지 말고 벤더의 변경 이력과 실제 구성으로 판단합니다.
  • 설치 버전이 확인되지 않은 환경: 설치 버전을 모르면 벤더 변경 이력과 견줄 기준이 없어 업그레이드 대상과 완료 판정을 정할 수 없고, 수정 버전 번호는 이번 자료에서 확정되지 않았으므로 CHANGELOG에서 해당 항목을 직접 확인해야 합니다.
  • KEV 기준 날짜가 확인되지 않은 현재: 등재 사실은 확인되었지만 등재일과 조치 기한의 값은 이번 자료에서 확정되지 않았습니다. 이 글에서 말할 수 있는 범위는 KEV 카탈로그 원문에서 두 날짜를 확인해야 한다는 점까지입니다.

참고자료

함께 읽으면 좋은 글

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

댓글 (0)

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

로그인

아직 댓글이 없습니다.

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

IT 도구 서랍

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

→ ASCII: ABC
→ 문자: 65 66 67

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

DecHex약어설명
DecHex문자
DecHex문자

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