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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-10036-speechbrain-rce — SpeechBrain < 1.1.1 चेकपॉइंट मेटाडेटा में CKPT.yaml के असुरक्षित PyYAML पार्सिंग के माध्यम से RCE। | Kitploit
उपकरण/GitHubGitHub/saiteja-erukude/cve-2026-10036-speechbrain-rce
भेद्यता विश्लेषणकोड विश्लेषणशोषणपेपर और शोधलर्निंग और शिक्षा
GitHubsaiteja-erukude/cve-2026-10036-speechbrain-rce

CVE-2026-10036-speechbrain-rce

SpeechBrain < 1.1.1 चेकपॉइंट मेटाडेटा में CKPT.yaml के असुरक्षित PyYAML पार्सिंग के माध्यम से RCE।

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

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

सभी देखें →

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

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

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

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

CVE-2026-10036: SpeechBrain में CKPT.yaml पार्सिंग के माध्यम से मनमाना कोड निष्पादन

गंभीरता: उच्च, CVSS 4.0 8.7, CVSS 3.1 8.8 (VulnCheck, CNA द्वारा निर्धारित)

वेक्टर (v4.0): CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N

वेक्टर (v3.1): CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

प्रभावित: SpeechBrain < 1.1.1

समाधान: 1.1.1 / कमिट 22a6166

CWE: CWE-502 (अविश्वसनीय डेटा का डिसीरियलाइज़ेशन)

रिपोर्टकर्ता: साई तेजा एरुकुडे

CNA: VulnCheck

प्रकाशित: 27 अगस्त, 2026


सारांश

SpeechBrain 1.1.1 से पहले चेकपॉइंट पुनर्प्राप्ति के दौरान चेकपॉइंट मेटाडेटा को पार्स करते समय PyYAML के असुरक्षित लोडर का उपयोग करता है।

CKPT.yaml

एक हमलावर जो SpeechBrain चेकपॉइंट निर्देशिका की आपूर्ति या संशोधन कर सकता है, वह CKPT* चेकपॉइंट निर्देशिका के अंदर एक दुर्भावनापूर्ण CKPT.yaml फ़ाइल रख सकता है। जब कोई पीड़ित Checkpointer.recover_if_possible() को कॉल करता है, तो SpeechBrain चेकपॉइंट उम्मीदवारों को सूचीबद्ध करता है और प्रत्येक उम्मीदवार मेटाडेटा फ़ाइल को इसके साथ पार्स करता है:

root@kitploit:~
yaml.load(fi, Loader=yaml.Loader)

क्योंकि yaml.Loader Python ऑब्जेक्ट निर्माण टैग जैसे !!python/object/apply का समर्थन करता है, हमलावर-नियंत्रित चेकपॉइंट मेटाडेटा चेकपॉइंट खोज के दौरान Python कोड निष्पादित कर सकता है।

दुर्भावनापूर्ण चेकपॉइंट को चयनित या पुनर्स्थापित करने की आवश्यकता नहीं है। कोड निष्पादन तब होता है जब SpeechBrain चेकपॉइंट उम्मीदवारों की गणना कर रहा होता है।

प्रभाव

एक हमलावर SpeechBrain चलाने वाली Python प्रक्रिया के संदर्भ में मनमाना Python कोड निष्पादित कर सकता है।

यह उन वर्कफ़्लो को प्रभावित कर सकता है जहाँ उपयोगकर्ता अविश्वसनीय चेकपॉइंट निर्देशिकाओं, मॉडल आर्टिफैक्ट्स, या अभिलेखागार से डाउनलोड, अनपैक, फिर से शुरू, या प्रशिक्षण/अनुमान चलाते हैं।

होस्टिंग प्रक्रिया के आधार पर, यह अनुमति दे सकता है:

  • प्रक्रिया के लिए सुलभ फ़ाइलों को पढ़ना या संशोधित करना।
  • पर्यावरण चर और एप्लिकेशन रहस्यों तक पहुँचना।
  • होस्ट से पहुँच योग्य आंतरिक सेवाओं को कॉल करना।
  • प्रशिक्षण, अनुमान, या स्वचालन कार्यों को बाधित करना।

तकनीकी विवरण

प्रभावित घटक SpeechBrain की चेकपॉइंट पुनर्प्राप्ति/सूचीकरण प्रक्रिया है:

root@kitploit:~
Checkpointer.recover_if_possible()
  -> list_checkpoints()
  -> _construct_checkpoint_objects()

चेकपॉइंट सूचीकरण के दौरान, SpeechBrain CKPT* नामक उप-निर्देशिकाओं को स्कैन करता है जिनमें CKPT.yaml होता है। अंतिम चेकपॉइंट चयन से पहले प्रत्येक उम्मीदवार मेटाडेटा फ़ाइल को पार्स किया जाता है।

असुरक्षित पार्सिंग speechbrain.utils.checkpoints.checkpoints.py में होती है:

root@kitploit:~
meta = yaml.load(fi, Loader=yaml.Loader)

PoC दो चेकपॉइंट बनाता है:

  • CKPT+poisoned-metadata: एक पुराना दुर्भावनापूर्ण चेकपॉइंट जिसका CKPT.yaml PyYAML ऑब्जेक्ट-एप्लाई पेलोड रखता है।
  • CKPT+benign-newer: एक नया हानिरहित चेकपॉइंट जिसे हाल ही के आधार पर चुना जाना चाहिए।

हानिरहित चेकपॉइंट चुना जाता है, लेकिन दुर्भावनापूर्ण चेकपॉइंट मेटाडेटा फिर भी उम्मीदवार सूचीकरण के दौरान निष्पादित होता है। यह चेकपॉइंट पुनर्स्थापना से स्वतंत्र मेटाडेटा पार्स-समय कोड निष्पादन प्रदर्शित करता है।

प्रूफ ऑफ कॉन्सेप्ट

package_builder.py हमलावर-नियंत्रित चेकपॉइंट लेआउट बनाता है।

run_poc.py सत्यापन चलाता है, Checkpointer.recover_if_possible() को कॉल करता है, और निष्पादन साक्ष्य प्रिंट करता है।

केवल स्थानीय परीक्षण वातावरण में चलाएँ:

root@kitploit:~
python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

कमजोर संस्करणों पर अपेक्षित साक्ष्य:

root@kitploit:~
speechbrain_version: 1.1.0
installed_package: True
recovery_error: None
benign_checkpoint_selected: True
marker_before_recovery: False
marker_after_recovery: True
marker_contents:
speechbrain_checkpoint_yaml_loader_rce_triggered
success: True

महत्वपूर्ण साक्ष्य यह है कि benign_checkpoint_selected: True और marker_after_recovery: True एक साथ दिखाई देते हैं। यह दर्शाता है कि दुर्भावनापूर्ण पुराना चेकपॉइंट पुनर्प्राप्ति के लिए चयनित नहीं था, लेकिन इसका मेटाडेटा फिर भी पार्स और निष्पादित किया गया जब SpeechBrain चेकपॉइंट उम्मीदवारों को सूचीबद्ध कर रहा था।

पेलोड जानबूझकर हानिरहित है। यह केवल यह स्थानीय मार्कर स्ट्रिंग लिखता है:

root@kitploit:~
speechbrain_checkpoint_yaml_loader_rce_triggered

यह शेल नहीं चलाता, नेटवर्क सेवा से कनेक्ट नहीं करता, रहस्य नहीं पढ़ता, डेटा हटाता नहीं, या PoC निर्देशिका के बाहर फ़ाइलों को संशोधित नहीं करता।

उपचार

SpeechBrain 1.1.1 या बाद के संस्करण में अपग्रेड करें।

स्थायी कोड फिक्स चेकपॉइंट मेटाडेटा के लिए PyYAML के सुरक्षित लोडर का उपयोग करना है:

root@kitploit:~
yaml.safe_load(fi)

या:

root@kitploit:~
yaml.load(fi, Loader=yaml.SafeLoader)

चेकपॉइंट मेटाडेटा को केवल स्केलर मानों जैसे unixtime और end-of-epoch की आवश्यकता होती है, इसलिए इस पार्स पथ के लिए Python ऑब्जेक्ट निर्माण सक्षम नहीं होना चाहिए।

यदि तत्काल पैच या अपग्रेड उपलब्ध नहीं है:

  • अविश्वसनीय स्रोतों से चेकपॉइंट निर्देशिकाओं, मॉडल आर्टिफैक्ट्स, या अभिलेखागार का उपयोग न करें।
  • SpeechBrain प्रशिक्षण और अनुमान कार्यों को न्यूनतम विशेषाधिकारों के साथ अलग करें।
  • CKPT.yaml में अप्रत्याशित टैग और फ़ील्ड को मान्य करें या अस्वीकार करें।
  • बाहरी रूप से आपूर्ति किए गए चेकपॉइंट निर्देशिकाओं से स्वचालित रूप से फिर से शुरू करने से बचें।

श्रेय

साई तेजा एरुकुडे द्वारा खोजा और रिपोर्ट किया गया, VulnCheck के माध्यम से समन्वित।

संदर्भ

  • CVE रिकॉर्ड: https://www.cve.org/CVERecord?id=CVE-2026-10036
  • VulnCheck सलाह: https://www.vulncheck.com/advisories/speechbrain-arbitrary-code-execution-via-ckpt-yaml-parsing
  • रिलीज़ नोट्स: https://github.com/speechbrain/speechbrain/releases/tag/v1.1.1
  • पुल रिक्वेस्ट: https://github.com/speechbrain/speechbrain/pull/3067
  • पैच कमिट: https://github.com/speechbrain/speechbrain/commit/22a616646a493871401461f80b2d5cf564cb2850
  • PyYAML दस्तावेज़ीकरण: https://pyyaml.org/wiki/PyYAMLDocumentation
  • स्थानीय वॉकथ्रू: exploit_walkthrough.md
टूल डाउनलोड करें