DEEP DIVE REPORT

CVE-2026-63310: NLTK 데이터 다운로드 후 무결성 검증 누락 점검

SecurityDesk
2026.08.23 조회 7

NLTK 3.9.3 이전 버전은 NLTK 데이터 패키지를 내려받은 뒤 압축 해제 전에 파일 무결성을 검증하지 않습니다. 네트워크 경로가 조작되면 정상 패키지 대신 악성 내용이 검증 없이 추출될 수 있어, NLTK 데이터를 온라인으로 내려받는 Python 워크플로에는 점검 필요성이 생깁니다.

취약점 개요

CVE-2026-63310은 NLTK 3.9.3 이전 버전의 다운로더 모듈에서 다운로드 후 파일 무결성 검증을 수행하지 않는 문제를 다룹니다. CVE 기록에 따르면, NLTK 3.9.3 이전은 다운로더 모듈에서 패키지 다운로드 후 압축 해제 전에 파일 무결성을 검증하지 않으며, 공격자가 중간자 공격이나 DNS poisoning으로 악성 패키지 내용을 주입할 수 있고 이 내용은 검증 없이 추출됩니다. GitHub Security Advisory는 체크섬 로직이 _pkg_status()(lines 982-1015)에 존재하지만 다운로드 전 상태 확인에만 사용되고, 다운로드 후 최종 파일에는 적용되지 않는다고 설명합니다.

이 취약점은 CVE-2026-63310에 CWE-494로 분류되어 있으며, CVSS 4.0 기준 기본 점수는 9.3(CRITICAL)입니다. nltk 3.9.3 릴리스 페이지가 존재하며, Advisory는 os.replace() 이후 _unzip_iter() 호출 전에 최종 파일의 SHA-256을 계산하고 패키지 인덱스의 기대 체크섬과 비교한 뒤, 불일치 시 파일을 거부하고 삭제하는 수정 방향을 제안하고 있습니다.

영향 범위

VulnCheck Advisory에 따르면 영향 범위는 nltk >= 0, < 3.9.3입니다. CVE 기록이 명시하는 바에 따르면, NLTK 다운로더 모듈을 통해 데이터를 내려받고 압축 해제하는 환경을 사용하는 Python 워크플로가 점검 대상이 됩니다.

  • nltk >= 0, < 3.9.3 버전을 사용하는 환경
  • NLTK 다운로더 모듈을 통해 데이터를 온라인으로 내려받는 Python 워크플로

기술적 분석

기술적 분석 인포그래픽

취약 메커니즘

공격 벡터는 GitHub Security Advisory에서 중간자 공격(MITM)과 DNS poisoning으로 명시되어 있습니다. 체크섬 로직은 _pkg_status()(lines 982-1015)에 존재하지만 다운로드 전 상태 확인에만 사용되며, 다운로드 후 최종 파일에 대해 적용되지 않습니다. 이 검증 공백으로 인해 공격자가 MITM 또는 DNS poisoning으로 악성 패키지 내용을 주입하면, 해당 내용은 검증 없이 압축 해제됩니다.

공개 PoC·익스플로잇 분석

GitHub Security Advisory에 공개 PoC가 포함되어 있습니다. 이 PoC는 체크섬 로직이 _pkg_status()에만 존재하고 다운로드 후 검증 단계가 없는 점을 확인하는 데 사용된 것으로 보입니다. 즉, PoC는 공격 벡터의 존재 자체를 입증하는 수준이며, 실제 네트워크 환경에서 악성 패키지가 정상적으로 설치되는 과정을 보여주는 end-to-end 재현 단계까지 포함하는지는 Advisory 본문에서 명시적으로 구분되어 있지 않습니다. In-the-wild 악용 사례는 제공된 증거에서 확인되지 않았습니다.

대응 방안

먼저 영향 범위에 포함된 점검 대상 환경과 워크플로를 식별하고, NLTK 데이터를 온라인으로 내려받는 구간의 현재 사용 방식을 점검해야 합니다. 이후 무결성 검증 관련 수정 방향을 검토하는 순서로 따라갈 수 있습니다.

Advisory에서 제안한 수정 방향은 os.replace() 이후, _unzip_iter() 호출 전에 최종 파일의 SHA-256을 계산하고 패키지 인덱스의 기대 체크섬과 비교한 뒤, 불일치 시 파일을 거부하고 삭제하는 것입니다. nltk 3.9.3 릴리스 페이지가 존재하지만, 3.9.3에서 해당 검증이 적용되는 구체적인 다운로드 경로와 적용 조건은 제공된 증거에서 확인되지 않았습니다.

참고자료

함께 읽으면 좋은 글

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

댓글 (0)

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

로그인

아직 댓글이 없습니다.

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

IT 도구 서랍

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

→ ASCII: ABC
→ 문자: 65 66 67

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

DecHex약어설명
DecHex문자
DecHex문자

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