Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
docling-core-CVE-2026-24009 — CVE-2026-24009 के लिए तकनीकी विवरण और PoC, जो docling-core में असुरक्षित YAML लोडिंग और व्यावहारिक शमन मार्गों को प्रदर्शित करता है। | Kitploit
उपकरण/GitHubGitHub/biranperetz/docling-core-cve-2026-24009
भेद्यता विश्लेषणकोड विश्लेषणशोषणपेपर और शोधलर्निंग और शिक्षा
GitHubbiranperetz/docling-core-cve-2026-24009

docling-core-CVE-2026-24009

CVE-2026-24009 के लिए तकनीकी विवरण और PoC, जो docling-core में असुरक्षित YAML लोडिंग और व्यावहारिक शमन मार्गों को प्रदर्शित करता है।

रिपॉजिटरी देखें
6 महीने पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

CVE-2026-24009 — docling-core असुरक्षित YAML डिसीरियलाइज़ेशन (PoC + नोट्स)

इस रिपॉजिटरी में एक प्रूफ-ऑफ-कॉन्सेप्ट (PoC) और एक सरल स्कैनर शामिल है जो CVE-2026-24009 का प्रदर्शन करता है, जहां docling-core विशिष्ट निर्भरता स्थितियों के तहत हमलावर-नियंत्रित YAML लोड करते समय कोड निष्पादन सक्षम कर सकता है।

TL;DR

प्रभाव: YAML पार्सिंग के दौरान संभावित RCE कमजोर श्रृंखला (सभी आवश्यक):

  • docling-core >= 2.21.0 और < 2.48.4
  • PyYAML < 5.4 (CVE-2020-14343 से जुड़ा अपस्ट्रीम व्यवहार)
  • एप्लिकेशन अविश्वसनीय YAML पर DoclingDocument.load_from_yaml(...) कॉल करता है

समाधान: docling-core को >= 2.48.4 में अपग्रेड करें (yaml.SafeLoader पर स्विच करता है) को में अपग्रेड करें


वैकल्पिक समाधान:
PyYAML
>= 5.4

पृष्ठभूमि / मूल कारण

DoclingDocument.load_from_yaml() एक YAML-सीरियलाइज़्ड DoclingDocument को डिसीरियलाइज़ करता है। कमजोर संस्करणों में, यह असुरक्षित लोडर (yaml.FullLoader) का उपयोग करके YAML लोड करता है जब PyYAML कमजोर होता है, जिससे दुर्भावनापूर्ण YAML कंस्ट्रक्टर पार्सिंग के दौरान कोड निष्पादित कर सकते हैं (अधिक जानकारी के लिए CVE-2020-14343 देखें)।


परीक्षण किया गया वातावरण (PoC)

  • OS: Ubuntu 24.04
  • Python: 3.12.3
  • docling-core: 2.48.3 (कमजोर)
  • PyYAML: 5.3.1 (कमजोर)

पुनरुत्पादन (PoC)

1) एक वर्चुअल वातावरण बनाएं

root@kitploit:~
python3 -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install "docling-core==2.48.3" "PyYAML==5.3.1"

2) (वैकल्पिक) कमजोर लोडर की पुष्टि करें

चलाएं:

root@kitploit:~
python check_loader.py

कमजोर संस्करणों में, load_from_yaml() उपयोग करता है:

root@kitploit:~
data = yaml.load(f, Loader=yaml.FullLoader)

3) PoC चलाएं

root@kitploit:~
python repro_docling_load.py

अपेक्षित व्यवहार:

  • repro_docling_load.py एक ValidationError उठाता है (अपेक्षित)
  • एक स्थानीय मार्कर फ़ाइल बनाई जाती है: /tmp/docling_cve_poc_marker

यह प्रदर्शित करता है कि निष्पादन YAML पार्सिंग के दौरान हुआ, DoclingDocument.model_validate(...) के विफल होने से पहले।


शमन / पैच सत्यापन

शमन 1 — docling-core अपग्रेड करें (अनुशंसित)

root@kitploit:~
python -m pip install --upgrade "docling-core==2.48.4"
python check_loader.py
python repro_docling_load.py

अपेक्षित:

  • check_loader.py yaml.SafeLoader दिखाता है
  • PoC YAML कंस्ट्रक्टर त्रुटि के साथ विफल होता है और कोई मार्कर फ़ाइल नहीं बनाई जाती

शमन 2 — PyYAML अपग्रेड करें

PyYAML को >= 5.4 में अपग्रेड करने से CVE-2020-14343 से जुड़ा अपस्ट्रीम व्यवहार कम हो जाता है।

शमन 3 — सुरक्षित लोडिंग लागू करें

यदि अपग्रेड संभव नहीं है, तो असुरक्षित लोडर के साथ अविश्वसनीय YAML लोड करने से बचें। अविश्वसनीय YAML को डिसीरियलाइज़ करते समय yaml.SafeLoader लागू करें।


डाउनस्ट्रीम docling एक्सपोज़र पर नोट्स (निर्भरता मैपिंग)

जबकि यह CVE docling-core में है, सबसे आम उपभोक्ता docling है। docling में एक व्यापक निर्भरता सीमा अपने आप में कमजोरी साबित नहीं करती; जो मायने रखता है वह हल किया गया वातावरण (लॉकफ़ाइल / स्थापित पैकेज) है और क्या YAML आयात पथ उपयोग किए जाते हैं।

इस रिपॉजिटरी में collect_versions.py शामिल है, जो मैप करता है:

  • pyproject.toml से घोषित docling-core बाधाएं
  • uv.lock (या पुराने टैग में poetry.lock) से पिन किए गए docling-core संस्करण

निकाले गए डेटा से, संभावित रूप से कमजोर docling संस्करण (बाधा कमजोर की अनुमति देती है + लॉक कमजोर को पिन करता है) हैं:

  • >= v2.27.0 और <= v2.57.0

यह एक निर्भरता-समाधान संकेतक है, यह प्रमाण नहीं कि डिफ़ॉल्ट docling वर्कफ़्लो अविश्वसनीय इनपुट पर load_from_yaml() तक पहुंचते हैं।


रिपॉजिटरी सामग्री (उच्च-स्तरीय)

  • repro_docling_load.py — न्यूनतम PoC रनर
  • check_loader.py — load_from_yaml() द्वारा उपयोग किए गए YAML लोडर को प्रिंट करता है
  • scanner/ — एक सरल निर्भरता-आधारित स्कैनर (वैकल्पिक प्रत्यक्ष सिंक जांच)
  • collect_versions.py — docling टैग को पिन किए गए docling-core संस्करणों में मैप करने के लिए सहायक
टूल डाउनलोड करें