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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
jellyfin-ffmpeg-colonslash — Jellyfin Server 12.2 - उच्च - .strm प्लांट के बाद रिमोट - FFmpeg आर्ग इंजेक्शन - EncodingUtils -i GHSA-wwwm का अवशेष | Kitploit
उपकरण/GitHubGitHub/abraxas/jellyfin-ffmpeg-colonslash
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणसुरक्षा वर्चुअलाइजेशनपेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/jellyfin-ffmpeg-colonslash

jellyfin-ffmpeg-colonslash

Jellyfin Server 12.2 - उच्च - .strm प्लांट के बाद रिमोट - FFmpeg आर्ग इंजेक्शन - EncodingUtils -i GHSA-wwwm का अवशेष

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - jellyfin-ffmpeg-colonslash

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  jellyfin-ffmpeg-colonslash

jellyfin-ffmpeg-colonslash

वर्ग: FFmpeg आर्ग्युमेंट इंजेक्शन पहुँच: लाइब्रेरी में .strm प्लांट करने के बाद रिमोट (स्कैन किए गए मीडिया फ़ोल्डर का लेखक, फिर अनऑथ स्ट्रीम)

Jellyfin Server v12.2 (ca0f16eb7c195f720a1493ed469a27c4657db0c6) - Jellyfin. इमेज jellyfin/jellyfin:12.2.

GHSA-wwwm-px48-fpvq / PR 17685 ने कन्वर्ज़न argv और file: -i ब्रांच पर EscapeProcessArgument जोड़ा। Non-File प्रोटोकॉल अभी भी उस एस्केप के बिना रॉ पाथ को कोट्स में लपेटता है (EncodingUtils.cs:14-71)। ManagedFileSystem.IsPathFile उस :// के लिए false है जो file:// नहीं है। TranscodeManager अभी भी ProcessStartInfo.Arguments को एक स्ट्रिंग के रूप में बनाता है।

एक स्कैन की गई लाइब्रेरी .strm जिसकी पहली पंक्ति " युक्त http URL है, Http के रूप में वर्गीकृत होती है। Uri.TryCreate उस URL को स्वीकार करता है। अनऑथ GET /Videos/{id}/stream (बिना static) ffmpeg शुरू करता है। लैब लॉग है:

-i "http://127.0.0.1/a" JELLYFIN-FFMPEG-COLONSLASH-WITNESS "x"

नियंत्रण LabControl.mkv एक ही आर्ग्युमेंट रहता है: -i file:"/media/movies/LabControl.mkv".

:// वाला POSIX फ़ाइलनाम इस सिंक तक नहीं पहुँचता। स्लैश फ़ाइलनाम नहीं हो सकता। लैब प्लांट a://b"…"x.mkv को /media/movies/a:/b"…"x.mkv के रूप में संग्रहीत किया जाता है और यह एस्केप्ड File शाखा में जाता है। कोलनस्लैश वाले फ़ाइलनाम का वेरिएंट दर्ज न करें। मैं प्लगइन-DLL RCE का दावा नहीं कर रहा हूँ। लैब केवल argv विभाजन सिद्ध करती है।

Jellyfin 12.2 leftovers श्रृंखला का शेष #4।

IDअभी तक कोई CVE नहीं
वर्गFFmpeg आर्ग्युमेंट इंजेक्शन (CWE-88)
पहुँचलाइब्रेरी .strm प्लांट के बाद रिमोट, फिर अनऑथ स्ट्रीम
CWECWE-88
CVSSउच्च: 7.1 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N
उत्पादJellyfin Server
प्रभावितv12.2 (ca0f16eb) इमेज jellyfin/jellyfin:12.2
प्रमाणीकरणप्लांट के लिए लाइब्रेरी राइटर; स्ट्रीम अनऑथेंटिकेटेड है
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

हमलावर क्या कर सकता है

GHSA-wwwm जैसा ही प्लांट मॉडल: स्कैन किए गए मीडिया फ़ोल्डर (NAS / Samba / गेस्ट शेयर) में एक .strm लिखें। फिर जो भी सर्वर तक TCP खोल सकता है, वह बिना Authorization और बिना static के GET /Videos/{id}/stream कर सकता है। यही पूरा विशेषाधिकार सेट है। इस सूची में कुछ भी शेल या प्लगइन-DLL RCE नहीं है।

अक्षविधि + पथप्रदान करता हैउद्गम
अखंडता / argvलाइब्रेरी .strm प्लांट के बाद अनऑथ GET /Videos/{id}/stream-i कोट्स के बाहर अतिरिक्त ffmpeg आर्ग्युमेंटलैब-सिद्ध। TranscodeManager लॉग
रेकॉनवही और -vf drawtext=textfile=ट्रांसकोड में होस्ट फ़ाइल बाइट्सअनुमानित गैजेट; चलाया नहीं गया
अखंडता-attach / -dump_attachmentjellyfin-UID राइटअनुमानित; प्लगइन लोड नहीं दिखाया गया
RCEदावा नहीं किया गया--

यह शेष क्या प्रदान नहीं करता

  • कोई शेल नहीं। कोई ProcessBuilder नहीं। कोई प्लगइन-DLL RCE नहीं। पुरानी GHSA-866x श्रृंखला ऐतिहासिक है और यहाँ नहीं दिखाई गई है।
  • केवल-कोट File पथ File शाखा पर एस्केप्ड रहते हैं।
  • :// वाला POSIX फ़ाइलनाम एक डायरेक्टरी (a:) और एक फ़ाइल बन जाता है। Canonical Path में :// नहीं होता, इसलिए यह एस्केप्ड file: -i शाखा में जाता है।
  • GHSA-jh22 level TryParse बंद है।
  • कोडेक क्वेरी स्ट्रिंग्स अभी भी रेगेक्स से मेल खाती हैं।
  • .strm स्थानीय / file:// पथ हटा दिए जाते हैं (ProbeProvider केवल http / https / rtsp / rtp रखता है)।
  • EncoderAppPath को एन्कोडिंग कॉन्फ़िग API के माध्यम से सेट नहीं किया जा सकता।
  • सबटाइटल-अपलोड .strm (GHSA-j2hf) बंद रहता है।

मैंने इसे कैसे खोजा

मैंने jellyfin/jellyfin v12.2 को पिन किया। बीस स्रोत खोजें, फिर चार स्वतंत्र लूपबैक लैब। PR 17685 ने कन्वर्ज़न argv और file: -i को एस्केप किया। Http / rtsp रैपर "%s" के रूप में छोड़ दिए गए थे। मेरा पहला प्लांट :// वाला POSIX फ़ाइलनाम था। वह प्लांट एक डायरेक्टरी है। जो शेष सक्रिय होता है वह एक .strm है जिसके URL में पहले से :// और " हैं।

गलत मोड़, उसी क्रम में: GetFileInputArgument के path.Contains("://") शॉर्टकट को फ़ाइलनाम बग मानना। स्लैश एक विभाजक है। File शाखा पहले से एस्केप करती है। गैर-File शाखा नहीं करती।

इस पिन पर सहोदर: jellyfin-suggestions-idor, jellyfin-svg-gzip, jellyfin-playlist-itemids।

लैब

लूपबैक क्लाइंट: jellyfin-ffmpeg-colonslash-Abraxas-Labs.py। स्टैक: lab/ (docker-compose.yml, poc.py, run.sh)। केवल अधिकृत लैब। यह लूपबैक से बात करता है।

python3 jellyfin-ffmpeg-colonslash-Abraxas-Labs.py

या:

cd lab
./run.sh

केवल http://127.0.0.1:18810 को लक्षित करें। इमेज jellyfin/jellyfin:12.2। Compose प्रोजेक्ट jellyfin-ffmpeg-colonslash। विटनेस JELLYFIN-FFMPEG-COLONSLASH-WITNESS।

poc.py LabControl.mkv (नियंत्रण, एक -i file:"...") और LabPlant.strm लिखता है जिसका URL http://127.0.0.1/a" JELLYFIN-FFMPEG-COLONSLASH-WITNESS "x है। अनऑथ GET /Videos/{id}/stream (बिना static) कोट-ब्रेक लॉग करता है। अंतिम पंक्ति:

SUCCESS jellyfin-ffmpeg-colonslash argv-split=yes plant-i=quote-break control-id=f603a52f649bcf822b333c4d5f21cc86 plant-id=d7aabf0935bb524e1667b1ff9bb945d9 JELLYFIN-FFMPEG-COLONSLASH-WITNESS

ठीक करें

हर GetInputArgument शाखा पर EscapeProcessArgument कॉल करें, जिसमें Http और rtsp भी शामिल हैं। रैपिंग बनाए रखें, लेकिन आंतरिक स्ट्रिंग को उसी तरह कोट-एस्केप करें जैसे file: शाखा पहले से करती है।

स्रोत

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