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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-52617 — MCP ffmpeg हेल्पर में OS कमांड इंजेक्शन के लिए एडवाइज़री और प्रूफ-ऑफ-कॉन्सेप्ट, जिसमें रूट-कॉज़ विश्लेषण, डिटेक्टर मार्गदर्शन और एक अनफिक्स्ड npm पैकेज के लिए शमन उपाय शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/s1ko/cve-2026-52617
भेद्यता विश्लेषणकोड विश्लेषणशोषणआपूर्ति श्रृंखला सुरक्षा
GitHubs1ko/cve-2026-52617

CVE-2026-52617

MCP ffmpeg हेल्पर में OS कमांड इंजेक्शन के लिए एडवाइज़री और प्रूफ-ऑफ-कॉन्सेप्ट, जिसमें रूट-कॉज़ विश्लेषण, डिटेक्टर मार्गदर्शन और एक अनफिक्स्ड npm पैकेज के लिए शमन उपाय शामिल हैं।

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

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

सभी देखें →

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

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

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

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

CVE-2026-52617 — @sworddut/mcp-ffmpeg-helper: ffmpeg टूल विकल्पों के माध्यम से OS कमांड इंजेक्शन

runFFmpegCommand MCP टूल पैरामीटर से बनी एक स्ट्रिंग को spawn(…, { shell: true }) में पास करता है, इसलिए options, format, codec, pixelFormat या extraOptions में मौजूद शेल मेटाकैरेक्टर सर्वर चलाने वाले होस्ट पर निष्पादित होते हैं।

⚠ कोई फ़िक्स्ड वर्ज़न मौजूद नहीं है

2026-08-22 तक नवीनतम npm रिलीज़ 0.2.1 है, जो प्रभावित वर्ज़न है, और सिंक अभी भी रिपॉज़िटरी की डिफ़ॉल्ट ब्रांच पर मौजूद है। अपग्रेड करने के लिए कुछ नहीं है। इस बीच उपयोगकर्ता क्या कर सकते हैं, यह जानने के लिए Mitigation देखें।

CVECVE-2026-52617
CWECWE-78 (OS कमांड में उपयोग किए जाने वाले विशेष तत्वों का अनुचित निष्प्रभावीकरण)
पैकेज@sworddut/mcp-ffmpeg-helper (npm)
प्रभावित0.2.1 और पहले — सभी प्रकाशित वर्ज़न
फ़िक्स्ड इनकोई नहीं
CVSS v3.1AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H = 8.4 High (stdio ट्रांसपोर्ट)। यदि सर्वर को नेटवर्क ट्रांसपोर्ट में लपेटा जाए तो AV:N → 9.8 Critical।
रिपोर्ट किया गयाs1ko (github.com/s1ko, [email protected])
CVE आवंटित2026-07-13, MITRE CNA-LR

खतरा मॉडल

MCP टूल आर्ग्युमेंट्स हमलावर से प्रभावित होते हैं। ये एक LLM द्वारा उस सामग्री से उत्पन्न होते हैं जिसे एजेंट प्रोसेस करता है — दस्तावेज़, वेब पेज, टूल आउटपुट — इसलिए अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन हमलावर को उन मानों पर नियंत्रण देता है जो एक टूल हैंडलर प्राप्त करता है। कोई भी हैंडलर जो उन मानों में से किसी को शेल में फ़ीड करता है, उस प्रभाव को MCP सर्वर चलाने वाले होस्ट पर कोड निष्पादन में बदल देता है। यह पूर्ववर्ती मामले aws-mcp-server / CVE-2026-5058 के समान मॉडल है।

मीडिया-कन्वर्ज़न सर्वर इसके लिए विशेष रूप से स्वाभाविक लक्ष्य है: जिन फ़ाइलों को इसे प्रोसेस करने के लिए कहा जाता है, वे ठीक वही अविश्वसनीय सामग्री हैं जो एक एजेंट कहीं और से उठाता है।

निष्पादन

src/utils/ffmpeg.ts — कमांड को एक स्ट्रिंग के रूप में जोड़ा जाता है और शेल स्पष्ट रूप से सक्षम किया जाता है:

function runProcess(command: string, args: string[], useShell = false) {
  const child = spawn(command, args, { shell: useShell, windowsHide: true });
  …
}

export async function runFFmpegCommand(command: string): Promise<string> {
  const { stdout, stderr, code } = await runProcess(`ffmpeg ${command}`, [], true);
  …
}

spawn("ffmpeg " + command, [], { shell: true }) पूरी स्ट्रिंग को /bin/sh -c के माध्यम से चलाता है। कॉलर ने command में जो कुछ भी योगदान दिया है, वह सब शेल सिंटैक्स है।

src/tools/handlers.ts तीन टूल्स से उस हेल्पर तक पहुँचता है, ऐसे पैरामीटर इंटरपोलेट करते हुए जिनकी सामग्री के लिए कभी सत्यापन नहीं किया जाता:

टूलइंजेक्टेबल पैरामीटर
convert_videooptions
extract_audioformat
create_video_from_imagescodec, pixelFormat, extraOptions

केवल inputPath और outputPath की ही बिल्कुल जाँच की जाती है, और Zod स्कीमा केवल टाइप (z.string()) का सत्यापन करते हैं, सामग्री का कभी नहीं — इसलिए मेटाकैरेक्टर सीधे पार हो जाते हैं।

options को ; touch /tmp/marker ; पर सेट करके किया गया convert_video कॉल यह उत्पन्न करता है:

/bin/sh -c "ffmpeg -i /tmp/in.mp4 ; touch /tmp/marker ; /tmp/out.mp4"

पुनरुत्पादन

poc/driver.mjs stdio के माध्यम से MCP से बात करता है: यह सर्वर को प्रारंभ करता है, इंजेक्ट किए गए options मान के साथ convert_video के लिए एक tools/call जारी करता है, और एक मार्कर फ़ाइल की जाँच करता है। पेलोड एक सौम्य touch है।

npm pack @sworddut/[email protected]
tar xf sworddut-mcp-ffmpeg-helper-0.2.1.tgz && cd package && npm install
node ../poc/driver.mjs

प्रभावित संस्करण पर अपेक्षित:

==== POC RESULT (@sworddut/mcp-ffmpeg-helper) ====
marker /tmp/PWNED_ffmpeg created: true
verdict: CONFIRMED — command injection executed

ffmpeg को इंस्टॉल करने की आवश्यकता नहीं है — इंजेक्ट किया गया कमांड उसी /bin/sh -c स्ट्रिंग में चलता है, चाहे अग्रणी बाइनरी रिज़ॉल्व हो या न हो। 2026-06-01 को एक पृथक कंटेनर में सत्यापित, 2026-06-13 को पुनः सत्यापित, और 2026-08-22 को डिफ़ॉल्ट ब्रांच पर सिंक की पुनः पुष्टि की गई। इसे केवल उसी इन्फ्रास्ट्रक्चर के विरुद्ध चलाएँ जिसका परीक्षण करने के लिए आप अधिकृत हैं।

डिटेक्शन

  • एक ffmpeg कमांड लाइन जिसमें ;, &&, ||, |, बैकटिक या $( हो। इस सर्वर से वैध ffmpeg इनवोकेशन में ये नहीं होते।
  • एक sh -c प्रोसेस जिसकी कमांड लाइन ffmpeg से शुरू होती है और किसी विभाजक के बाद दूसरा कमांड होता है — यह एक प्रोसेस-ट्री सिग्नल (auditd, eBPF, Falco, EDR) है जो एप्लिकेशन लॉगिंग पर निर्भर नहीं करता।
  • MCP सर्वर प्रोसेस के अप्रत्याशित चाइल्ड प्रोसेस। ffmpeg और ffprobe अपेक्षित हैं; कोई शेल, इंटरप्रेटर या नेटवर्क क्लाइंट नहीं।
  • सर्वर प्रत्येक इनवोकेशन को stderr पर Running FFmpeg command: ffmpeg <command> के रूप में लॉग करता है, जो कि इंजेक्ट किया गया मान पहचानने की सबसे सस्ती जगह है यदि लॉग संग्रहित किए जाते हों।
  • MCP टूल-कॉल लॉग जहाँ options, format, codec, pixelFormat या extraOptions में शेल मेटाकैरेक्टर होते हैं।

MITRE ATT&CK T1059.004 Command and Scripting Interpreter: Unix Shell।

शमन

कोई पैच किया गया रिलीज़ मौजूद नहीं है, इसलिए विकल्प कंटेनमेंट और हटाना हैं:

  • पैकेज का उपयोग बंद करें यदि यह जिस एजेंट की सेवा करता है वह किसी भी अविश्वसनीय सामग्री को प्रोसेस करता है। आज उपलब्ध यही एकमात्र पूर्ण शमन है।
  • यदि इसे रखना ही हो, तो इसे एक कंटेनर या VM में एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता के रूप में चलाएँ, मीडिया वर्किंग डायरेक्टरी के अतिरिक्त रीड-ओनली फ़ाइलसिस्टम के साथ, इसके एनवायरनमेंट में कोई क्रेडेंशियल न हो, और कोई नेटवर्क एग्रेस न हो। तब कोड एक्ज़ीक्यूशन हमलावर को होस्ट के बजाय एक सैंडबॉक्स देता है।
  • इसे किसी नेटवर्क ट्रांसपोर्ट पर उजागर न करें। केवल-stdio परिनियोजन ही इसे 9.8 के बजाय 8.4 पर रखता है।
  • सर्वर को रैप या फोर्क करें ताकि ऊपर सूचीबद्ध पाँच पैरामीटर में शेल मेटाकैरेक्टर runFFmpegCommand तक पहुँचने से पहले अस्वीकार कर दिए जाएँ।

अपस्ट्रीम फ़िक्स यह है कि shell: true हटा दिया जाए और ffmpeg को एक आर्ग्युमेंट वेक्टर पास किया जाए — spawn("ffmpeg", ["-i", inputPath, …]) — उस ऐरे को फ्री-फ़ॉर्म स्ट्रिंग्स के बजाय अनुमत-सूचीबद्ध format, codec और pixelFormat मानों से बनाकर। सामग्री सत्यापन, केवल Zod प्रकार सत्यापन नहीं, अंतर्निहित आवश्यकता है।

NIST SP 800-53r5 SI-10; OWASP ASVS v4 §5.3.8; CWE-78 शमन M1 और M2।

समयरेखा

तिथिघटना
2026-05-29प्रकाशित tarball की स्रोत समीक्षा द्वारा भेद्यता की पहचान
2026-06-01एक पृथक कंटेनर में MCP stdio पर गतिशील रूप से सत्यापित
2026-06-13दूसरे होस्ट पर पुनः सत्यापित; रिपॉज़िटरी में Private Vulnerability Reporting सक्षम नहीं है, और package.json के repository/bugs/homepage फ़ील्ड github.com/yourusername टेम्पलेट पर छोड़े गए हैं, जिससे कोई प्रलेखित सुरक्षा संपर्क नहीं है
2026-07-13MITRE CNA-LR द्वारा CVE-2026-52617 आवंटित, s1ko को खोजकर्ता के रूप में श्रेय
2026-08-22डिफ़ॉल्ट ब्रांच पर सिंक की पुनः पुष्टि; npm latest अभी भी 0.2.1; यह लेख प्रकाशित

संदर्भ

  • npm पैकेज — https://www.npmjs.com/package/@sworddut/mcp-ffmpeg-helper
  • रिपॉज़िटरी — https://github.com/sworddut/mcp-ffmpeg-helper
  • MCP खतरे के मॉडल के लिए मिसाल — CVE-2026-5058 (aws-mcp-server)

उसी शोध दौर से सहयोगी एडवाइज़री: CVE-2026-52616, CVE-2026-52618।

लाइसेंस

MIT — देखें LICENSE।

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