Docling Core YAML 역직렬화 원격 코드 실행(RCE) 취약점 (CVE-2026-24009)
실무자 핵심 요약 (Executive Summary)
SECOPS ASSESSMENTdocling-core v2.21.0 이상 v2.48.4 미만 버전 중, pyyaml v5.4 미만 버전을 함께 사용하는 환경
공격자가 조작한 악성 YAML 데이터를 load_from_yaml() 메서드로 처리할 경우, 대상 서버에서 임의의 파이썬 코드가 실행될 수 있습니다
docling-core 버전을 v2.48.4 이상으로 업그레이드하거나, pyyaml 패키지를 v5.4 이상으로 업데이트하십시오
영향받는 제품 및 버전 범위
권장 패치 및 임시 완화(Workaround) 가이드
패치 및 우회 명령어1. 공식 보안 패치 및 버전 업그레이드 명령어
가장 확실한 해결책은 docling-core를 안전한 최신 버전(v2.48.4 이상)으로 업그레이드하는 것입니다. 이 버전에서는 내부적으로 yaml.SafeLoader를 사용하도록 수정되어 취약점이 원천 차단됩니다.
# pip를 사용하는 경우 docling-core 패키지 업데이트
pip install --upgrade 'docling-core>=2.48.4'
# poetry를 사용하는 경우 의존성 업데이트
poetry add 'docling-core>=2.48.4'2. 패치 전 임시 완화(Workaround) 및 접근 제어 설정
즉각적인 docling-core 업그레이드가 어려운 경우, 하위 의존성인 PyYAML 버전을 v5.4 이상으로 강제 업그레이드하여 취약점 노출을 방지할 수 있습니다.
# PyYAML 버전을 안전한 버전으로 강제 업그레이드
pip install --upgrade 'pyyaml>=5.4'3. 침해 흔적(IoC) 및 로그·버전 점검 스크립트
현재 프로젝트 환경의 패키지 버전을 점검하고, 소스 코드 내에서 위험한 메서드가 사용되고 있는지 확인하는 스크립트입니다.
# 설치된 docling-core 및 pyyaml 버전 확인
pip show docling-core pyyaml
# 프로젝트 내에서 load_from_yaml() 호출부 검색
grep -rn 'load_from_yaml' ./내 GitHub/GitLab 레포지토리에 이 취약한 패키지가 숨어 있는지 30초 만에 스캔하세요
간접 의존성(Transitive Dependency)에 포함된 취약점은 수동 확인이 불가능합니다. Git 연동 한 번으로 취약 버전 탐지부터 호환성을 유지하는 최소 버전 업그레이드 PR까지 자동 생성하세요.
취약점 발생 원리 및 공격 메커니즘
1. 취약점 개요 및 발생 원인 (Root Cause)
본 취약점(CVE-2026-24009)은 문서 처리 라이브러리인 docling-core에서 발생하는 안전하지 않은 역직렬화(Insecure Deserialization) 취약점입니다. docling-core는 내부적으로 YAML 데이터를 파싱하기 위해 PyYAML 라이브러리를 사용합니다. 취약한 버전의 docling-core에서는 YAML 데이터를 로드할 때 yaml.FullLoader를 사용하여 역직렬화를 수행합니다. 이로 인해 구버전 PyYAML 환경에서 임의의 파이썬 객체를 인스턴스화할 수 있는 알려진 취약점(CVE-2020-14343)에 노출되는 근본적인 원인이 됩니다.
2. 공격 메커니즘 및 익스플로잇 시나리오
공격자는 docling_core.types.doc.DoclingDocument.load_from_yaml() 메서드가 외부로부터 검증되지 않은 입력을 처리하도록 유도합니다. 공격자가 작성한 악성 YAML 페이로드에는 파이썬의 임의 클래스 생성자나 시스템 명령을 실행할 수 있는 직렬화된 객체 태그(예: !!python/object/new:subprocess.Popen)가 포함될 수 있습니다. 애플리케이션이 이 데이터를 파싱하는 순간, yaml.FullLoader가 해당 객체를 인스턴스화하면서 공격자가 의도한 시스템 명령어가 대상 서버에서 권한 제한 없이 실행됩니다.
3. 비즈니스 및 인프라 파급 영향
이 취약점은 CVSS 9.8의 심각한(Critical) 등급으로 분류되어 있습니다. 원격의 비인증 공격자가 네트워크를 통해 악성 YAML 파일을 업로드하거나 API 요청으로 전송하는 것만으로도 대상 시스템의 완전한 제어권을 획득할 수 있습니다. 이는 데이터베이스 자격 증명 탈취, 내부 네트워크 침투, 랜섬웨어 감염 및 서비스 중단 등 비즈니스 인프라 전반에 걸쳐 치명적인 피해를 초래할 수 있습니다.
공식 보안 권고문 및 참조 링크
Docling Core (or docling-core) is a library that defines core data types and transformations in the document processing application Docling. A PyYAML-related Remote Code Execution (RCE) vulnerability, namely CVE-2020-14343, is exposed in docling-core starting in version 2.21.0 and prior to version 2.48.4, specifically only if the application uses pyyaml prior to version 5.4 and invokes `docling_core.types.doc.DoclingDocument.load_from_yaml()` passing it untrusted YAML data. The vulnerability has been patched in docling-core version 2.48.4. The fix mitigates the issue by switching `PyYAML` deserialization from `yaml.FullLoader` to `yaml.SafeLoader`, ensuring that untrusted data cannot trigger code execution. Users who cannot immediately upgrade docling-core can alternatively ensure that the installed version of PyYAML is 5.4 or greater.
자주 묻는 실무 질문 (FAQ — CVE-2026-24009)
FAQQ1. CVE-2026-24009 취약점의 위험도와 실제 악용 가능성은 어느 정도입니까?
CVE-2026-24009의 기본 점수는 CVSS 9.8 (CRITICAL)이며, 향후 30일 내 실제 악용 확률을 나타내는 EPSS 점수는 1.5%입니다. 외부 네트워크 노출 여부에 따라 선제적인 패치 및 접근 제어가 권장됩니다.
Q2. CVE-2026-24009에 영향을 받는 벤더와 제품은 무엇입니까?
주요 영향 벤더는 docling-project, pyyaml이며, 대상 컴포넌트는 docling-core, pyyaml입니다. 상세 영향 범위: docling-core v2.21.0 이상 v2.48.4 미만 버전 (단, 시스템에 설치된 pyyaml 버전이 v5.4 미만인 경우에만 취약함)
Q3. 서버 재기동이나 정규 패치 전 즉시 적용할 수 있는 완화 조치(Workaround)는 무엇입니까?
[권장 조치] docling-core 버전을 v2.48.4 이상으로 업그레이드하거나, pyyaml 패키지를 v5.4 이상으로 업데이트하십시오 본문의 패치 및 우회 명령어 섹션과 자가 점검 체크리스트를 참고하여 외부 노출 포트를 차단하거나 WAF 탐지 규칙을 선적용하십시오.
CVE-2026-24009 사내 보안 패치 공지문 · CISO 경영진 보고서 초안 자동 생성
클릭 한 번으로 사내 이메일·노션·결재 문서에 바로 붙여넣을 수 있는 공식 보고서 양식을 생성합니다.
🔗 함께 점검해야 할 동일 벤더·스택 연관 취약점 (docling-project)
동일 카테고리 전체 보기 →Apache MINA 3.0 JavaNativeMessageDecoder 역직렬화 원격 코드 실행(RCE) 취약점 (CVE-2026-118636)
[영향 대상] Apache MINA 3.0.0 비활성 브랜치 및 해당 코덱 모듈을 사용하는 Java 애플리케이션
GitLab CE/EE 미인증 원격 코드 실행(RCE) 취약점 보안 권고 (CVE-2026-97229)
[영향 대상] GitLab CE/EE 19.2(19.2.8 미만), 19.3(19.3.5 미만), 19.4(19.4.2 미만) 버전
GitLab CE/EE 미인증 임의 파일 읽기 취약점 보안 권고 (CVE-2026-85706)
[영향 대상] GitLab CE/EE 18.7 버전부터 19.3.1 버전 사이의 특정 릴리즈 사용자
Google Brotli 디코더 원격 코드 실행(RCE) 및 메모리 손상 취약점 보안 권고 (CVE-2026-111497)
[영향 대상] Google Brotli 라이브러리 버전 1.0.3 ~ 1.2.0을 사용하는 모든 웹 서버, 브라우저, Node.js 및 백엔드 애플리케이션
일간 취약점 브리핑 및 긴급 Zero-Day 경보 구독
보안 실무자와 인프라·백엔드 엔지니어를 위해 매일 아침 주요 취약점과 패치 우선순위를 요약해 발송합니다.