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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
jellyfin-svg-gzip — Jellyfin Server 12.2 - उच्च - रिमोट - SSRF - gzip data:image/png GHSA-cf3c का अवशेष अभी भी http और file प्राप्त करता है | Kitploit
उपकरण/GitHubGitHub/abraxas/jellyfin-svg-gzip
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगलैब और अभ्यास
GitHubabraxas/jellyfin-svg-gzip

jellyfin-svg-gzip

Jellyfin Server 12.2 - उच्च - रिमोट - SSRF - gzip data:image/png GHSA-cf3c का अवशेष अभी भी http और file प्राप्त करता है

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

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

सभी देखें →

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

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

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

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

Abraxas Labs - jellyfin-svg-gzip

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

jellyfin-svg-gzip

वर्ग: SSRF + फ़ाइल पढ़ना + memex पहुँच: रिमोट (कोई भी प्रमाणित उपयोगकर्ता POST /UserImage; रैस्टराइज़ अनप्रमाणित GET /UserImage)

Jellyfin Server 12.2 (ca0f16eb) - Jellyfin. Svg.Skia 3.7.0.

GHSA-cf3c-8m59-2vhx ने प्रोफ़ाइल SVGs पर बाहरी http और file hrefs को बंद कर दिया। 12.2 अभी भी Svg.Skia 3.7.0 को पिन करता है। SvgDocument.ResolveExternalImages = ExternalType.None को 3.7.0 ImageDrawable द्वारा अनदेखा किया जाता है। SvgSecurityValidator.ValidateDataUri किसी भी ऐसे data URI के लिए allow लौटाता है जिसका मीडिया प्रकार ठीक image/svg+xml नहीं है, gzip वॉक से पहले। Svg.Skia GetImageFromDataUri: mimeType.StartsWith("image/") के साथ-साथ gzip मैजिक LoadSvgz को कॉल करता है, बिना किसी Jellyfin पुनः-स्कैन के। आंतरिक SVG के http(s) / file hrefs WebRequest.Create पर जाते हैं। यही मूल GHSA-cf3c सिंक है।

कोई भी प्रमाणित उपयोगकर्ता gzip-png में लिपटा SVG अपलोड करता है। उस प्रोफ़ाइल छवि का अनप्रमाणित GET सर्वर को रैस्टराइज़ करते समय हमलावर के http / https / file:// को फ़ेच करवाता है।

IDअभी तक कोई CVE नहीं
वर्गSSRF + फ़ाइल पढ़ना + memex
पहुँचरिमोट। कोई भी उपयोगकर्ता POST /UserImage। रैस्टराइज़ अनप्रमाणित GET /UserImage?userId= है
CWECWE-918 / CWE-611 / CWE-400
CVSSउच्च: 7.7 CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:L
उत्पादJellyfin Server
प्रभावित12.2 (ca0f16eb7c195f720a1493ed469a27c4657db0c6), इमेज jellyfin/jellyfin:12.2, Svg.Skia 3.7.0
प्रमाणीकरणप्रमाणित अपलोड। अनप्रमाणित रैस्टराइज़।
लाइसेंसGNU Affero GPL v3.0
लैबकेवल 127.0.0.1

Jellyfin 12.2 leftovers श्रृंखला का शेष #2। सहोदर #1 Suggestions IDOR। वही पिन: playlist ItemIds, FFmpeg colon-slash।

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

अभिनेता कोई भी साइन-इन किया हुआ Jellyfin उपयोगकर्ता है। प्रोफ़ाइल छवि केवल एडमिन के लिए नहीं है। रैस्टराइज़ को सत्र की आवश्यकता नहीं है।

अक्षविधि + पथअनुदानउद्गम
रेकॉनPOST /UserImage (Content-Type: image/svg+xml, BASE64 बॉडी) फिर अनप्रमाणित GET /UserImage?userId=Skia द्वारा रैस्टराइज़ करते समय हमलावर के http/https (लूपबैक, RFC1918, लिंक-लोकल/IMDS) का सर्वर GETलैब-प्रमाणित। ओरेकल होस्टनाम oracle:8080, hits=1, पथ में साक्षी
रेकॉनवहीfile:// बाइट्स उस PNG/WebP/JPEG में चित्रित जो अनुरोधकर्ता डाउनलोड करता है, यदि वे छवि के रूप में डिकोड होंअनुमानित। GHSA-cf3c के समान WebRequest.Create सिंक
उपलब्धतावही, आंतरिक file:///dev/urandomमैनेज्ड हीप पर बिना सीमा के पढ़ाई बनी रहती है। बिना पुनः-अपलोड के हर बाद के छवि GET पर दोहराती हैअनुमानित। GHSA-cf3c में मापा गया
अखंडताकोई नहींकोई उपयोगकर्ता-नीति लेखन नहीं, कोई प्लगइन इंस्टॉल नहीं, कोई सत्र चोरी नहींबंद

बंद रहता है: बाहरी SVG पर सीधे http/file hrefs (lab: GET image/svg+xml ही रहा, oracle 0); नेस्टेड data:image/svg+xml (पुनः-स्कैन किया गया, gzip सहित); DTD SYSTEM; GHSA-vcmh इनलाइन XSS (Content-Disposition: attachment के साथ-साथ rasterize); plugin-image traversal; Magick/PDF। RCE नहीं। session XSS नहीं। SSRF body वही है जो Skia पेंट करता है, कच्चा HTTP response नहीं।

मुझे यह कैसे मिला

12.2 वही टैग है जिसमें GHSA-cf3c प्री-स्कैन पहले ही शिप हो चुका था। फिर भी मैंने इसे टाल दिया। ऐसे पैच जो किसी ऐसी लाइब्रेरी के आगे validator जोड़ते हैं जो अब भी fetch करती है, एक उपहार हैं: आप पढ़ते हैं कि validator क्या-क्या चलता है, फिर पूछते हैं कि लाइब्रेरी अब भी क्या parse करती है।

Directory.Packages.props अब भी Svg.Skia 3.7.0 को pin किए हुए है। अपस्ट्रीम wieslawsoltes/Svg.Skia#448 (#501 में ठीक किया गया): ImageDrawable कभी ResolveExternalImages की सलाह नहीं लेता। Jellyfin के तीन ExternalType.None असाइनमेंट इस pin पर no-op हैं। Renovate #17076 टैग में नहीं है।

तब प्री-स्कैन ही एकमात्र गेट है। ValidateReference हर गैर-fragment, गैर-data: href को अस्वीकार करता है। नेस्टेड image/svg+xml पुनः-parse होता है, gzip सहित। SvgSecurityValidator.cs:169-173 पर टिप्पणी कहती है कि कोई भी अन्य media type raster है और 0x1F 0x8B walk से पहले allow लौटाता है। Svg.Skia 3.7.0 का GetImageFromDataUri इससे सहमत नहीं है: gzip magic वाला कोई भी image/* LoadSvgz है।

पहले से दर्ज गलत रास्ते: GHSA-cf3c को बंद मान लेना क्योंकि negative control image/svg+xml ही रहता है; नेस्टेड data:image/svg+xml gzip (पुनः-स्कैन किया गया); DTD SYSTEM; GHSA-vcmh इनलाइन XSS; plugin-image traversal; Magick/PDF; admin RemoteImages/Download (इरादतन artwork fetch); एक pixel-bomb DoS जो यह leftover नहीं है; एक reverse shell। नाटक।

लैब

python3 jellyfin-svg-gzip-Abraxas-Labs.py

or:

cd lab
./run.sh

केवल लूपबैक: Jellyfin http://127.0.0.1:18780, oracle http://127.0.0.1:18781. इमेज jellyfin/jellyfin:12.2. Oracle एक 1x1 PNG लौटाता है और अनुरोध पथ को लॉग करता है। Compose होस्टनाम oracle:8080 वही है जिसे Skia फ़ेच करता है।

नकारात्मक: एक प्रोफ़ाइल SVG POST करें जिसका इमेज href http://oracle:8080/negative.png है। GET image/svg+xml ही रहता है, oracle 0. सकारात्मक: एक आंतरिक SVG का gzip जिसका href http://oracle:8080/JELLYFIN-SVG-SVGSKIA-WITNESS.png है, बाहरी SVG पर data:image/png;base64 के रूप में लपेटा गया। GET image/png है, oracle 1.

SUCCESS jellyfin-svg-gzip gzip-png-ssrf hits=1 negative=0 JELLYFIN-SVG-SVGSKIA-WITNESS

केवल साक्षी। कोई एक्सप्लॉइट पेलोड नहीं। कोई रिवर्स शेल नहीं। अधिकृत लैब। लूपबैक।

समाधान

SvgSecurityValidator में gzip और नेस्टेड डेटा URI को वॉक करें, भले ही घोषित मीडिया प्रकार image/svg+xml न हो। या Svg.Skia को ImageDrawable ExternalType.None इग्नोर (अपस्ट्रीम #448 / #501; renovate #17076 इस टैग में नहीं है) से आगे बढ़ाएँ। दोनों। लाइब्रेरी फ़्लैग ही इच्छित किल स्विच है। वैलिडेटर को इस बारे में झूठ नहीं बोलना चाहिए कि लाइब्रेरी क्या पार्स करेगी।

संदर्भ

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