Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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।

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

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

सभी देखें →

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

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

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

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

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

गंभीरता: उच्च, 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 / commit 22a6166

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

खोजा और रिपोर्ट किया गया: Sai Teja Erukude द्वारा

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


सारांश

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

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

yaml.load(fi, Loader=yaml.Loader)

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

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

प्रभाव

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

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

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

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

तकनीकी विवरण

प्रभावित घटक SpeechBrain का चेकपॉइंट रिकवरी/लिस्टिंग प्रवाह है:

Checkpointer.recover_if_possible()
  -> list_checkpoints()
  -> _construct_checkpoint_objects()

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

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

meta = yaml.load(fi, Loader=yaml.Loader)

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

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

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

Proof of Concept

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

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

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

python -m venv .venv
.venv\Scripts\activate
python -m pip install -r requirements.txt
python -B run_poc.py

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

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 द्वारा चेकपॉइंट उम्मीदवारों को सूचीबद्ध करते समय इसका मेटाडेटा अभी भी पार्स और निष्पादित किया गया था।

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

speechbrain_checkpoint_yaml_loader_rce_triggered

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

उपचार

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

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

yaml.safe_load(fi)

या:

yaml.load(fi, Loader=yaml.SafeLoader)

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

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

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

श्रेय

Sai Teja Erukude द्वारा खोजा और रिपोर्ट किया गया।

प्रकटीकरण का समन्वय 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
टूल डाउनलोड करें