Kant's IT/Vulnerability

4,300만 건 이상 설치된 Python 패키지에서 원격 코드 실행 취약점 발견 (CVE-2025-27607)

Kant Jo 2025. 4. 12. 10:30

Over 43 Million Python Installations Vulnerable to Dangerous Code Execution Flaw

 

Over 43 Million Python Installations Vulnerable to Dangerous Code Execution Flaw

A significant vulnerability has been uncovered in the Python JSON Logger package (python-json-logger), affecting versions 3.2.0 and 3.2.1.

gbhackers.com

 

  • 취약점 개요
    • 취약 패키지: python-json-logger 버전 3.2.0 및 3.2.1
    • 취약점 식별자: CVE-2025-27607
    • 유형: 원격 코드 실행(RCE)
    • 원인: 개발 의존성으로 지정된 msgspec-python313-pre 패키지가 PyPi에서 삭제되면서 악성 사용자가 동일한 이름으로 패키지를 업로드할 수 있는 상황 발생
  • 공급망 공격 시나리오
    • PyPi 저장소에서 msgspec-python313-pre 삭제됨
    • 개발자가 pip install python-json-logger[dev] 명령어 사용 시, 비어있는 의존성을 설치하려다 제3자가 업로드한 악성 패키지를 다운로드할 수 있는 위험 발생
    • 연구자(@omnigodz)가 해당 의존성을 악용하기 전 선점하여 무해한 버전으로 업로드한 후 삭제하여 위험 차단
  • 영향 범위
    • 영향을 받는 버전: 3.2.0, 3.2.1
    • python-json-logger는 월간 4,600만 건 이상 다운로드되는 인기 패키지로, 다양한 Python 프로젝트에 광범위하게 사용
    • 현재까지 악용 사례는 보고되지 않았지만, 실행 가능한 개발 환경에서는 코드 실행이 가능했을 것으로 분석
  • 보안 권고
    • python-json-logger 3.3.0 버전에서 문제가 된 의존성을 제거하고 취약점 수정
    • 사용자 및 개발자는 가능한 한 빠르게 최신 버전으로 업그레이드 권고
    • PyPi 관리자는 의존성 취약점 및 네임스페이스 하이재킹(Name Hijacking) 가능성에 대한 정책 검토 필요
  • 결론
    • 오픈소스 생태계에서의 소프트웨어 공급망 보안(Supply Chain Security) 취약성은 치명적인 영향을 줄 수 있음
    • pyproject.toml, requirements.txt 등에 명시된 모든 의존성은 존재 여부 및 무결성을 검증해야 함
    • 개발 환경에서는 dev 또는 test 범주의 의존성도 격리된 환경(virtualenv, container 등)에서 실행하도록 보안 정책 수립 필요
    • 기업 보안팀은 오픈소스 의존성 관리체계(SCA: Software Composition Analysis) 도구 도입을 고려해야 함