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

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

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 पैकेज के लिए शमन उपाय शामिल हैं।

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

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

सभी देखें →

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

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

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

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

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 है, जो प्रभावित संस्करण है, और सिंक अभी भी रिपॉज़िटरी की डिफ़ॉल्ट ब्रांच पर मौजूद है। अपग्रेड करने के लिए कुछ भी नहीं है। उपयोगकर्ता इस बीच क्या कर सकते हैं, इसके लिए शमन देखें।

थ्रेट मॉडल

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

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

निष्पादन

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

root@kitploit:~
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_video

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

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

root@kitploit:~
/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 है।

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

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

root@kitploit:~
==== 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, , या में शेल मेटाकैरेक्टर हों।

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

शमन

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

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

टाइमलाइन

संदर्भ

  • 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 देखें।

टूल डाउनलोड करें
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 = 7.8 उच्च (stdio ट्रांसपोर्ट)। AV:N → 9.8 गंभीर यदि सर्वर नेटवर्क ट्रांसपोर्ट में लपेटा गया है।
रिपोर्टकर्ताs1ko (github.com/s1ko, [email protected])
CVE आवंटन2026-07-13, MITRE CNA-LR
options
extract_audioformat
create_video_from_imagescodec, pixelFormat, extraOptions
codec
pixelFormat
extraOptions
दिनांकघटना
2026-05-29प्रकाशित टारबॉल की सोर्स समीक्षा द्वारा भेद्यता की पहचान की गई
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 नवीनतम अभी भी 0.2.1 है; यह लेख प्रकाशित हुआ