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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-14871 — BOLA/IDOR भेद्यता osTicket ajax.tickets.php में | जिम्मेदार प्रकटीकरण | Kitploit
उपकरण/GitHubGitHub/jfoz1010/cve-2026-14871
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणजानकारी एकत्र करनापेनिट्रेशन टेस्टिंगलर्निंग और शिक्षा
GitHubjfoz1010/cve-2026-14871

CVE-2026-14871

BOLA/IDOR भेद्यता osTicket ajax.tickets.php में | जिम्मेदार प्रकटीकरण

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

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

सभी देखें →

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

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

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

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

CVE-2026-14871 - osTicket में BOLA / IDOR ajax.tickets.php

टूटा हुआ ऑब्जेक्ट स्तर प्राधिकरण (BOLA): असुरक्षित प्रत्यक्ष ऑब्जेक्ट संदर्भ (IDOR)
include/ajax.tickets.php → viewField() फ़ंक्शन
रिपोर्ट किया गया: @JF0x0r · 27 मार्च 2026 स्थिति: पैच किया गया - osTicket v1.17.8 / v1.18.4 में फिक्स जारी किया गया


एक नज़र में

क्षेत्रविवरण
कमज़ोरीBOLA / IDOR (टूटा हुआ ऑब्जेक्ट स्तर प्राधिकरण)
लक्ष्यosTicket v1.18-git - कमिट 2570d69
घटकinclude/ajax.tickets.php
फ़ंक्शनviewField() - पंक्तियाँ 805–806
एंडपॉइंटGET /scp/ajax.php/tickets/{ticket_id}/field/{field_id}/view
CVSS 4.0 स्कोर8.2 उच्च - AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N
CWECWE-862 (गुम प्राधिकरण), CWE-639 (उपयोगकर्ता-नियंत्रित कुंजी द्वारा प्रमाणीकरण बाईपास)
स्थिति✅ पैच किया गया — osTicket v1.17.8 और v1.18.4 में फिक्स किया गया

मैं कौन हूँ

मैं जुआन फेलिप ओज़ ( @JF0x0r ) हूँ, एक सुरक्षा शोधकर्ता जो ओपन सोर्स सुरक्षा के प्रति जुनूनी है। मैं यह काम इनाम के लिए नहीं करता, बल्कि इसलिए करता हूँ क्योंकि मुझे विश्वास है कि जिन उपकरणों पर लोग निर्भर करते हैं, वे सुरक्षित होने चाहिए। जब मुझे कुछ मिलता है, तो मैं इसे जिम्मेदारी से रिपोर्ट करता हूँ, उचित रूप से दस्तावेजीकरण करता हूँ, और ठीक होने के बाद सार्वजनिक रूप से साझा करता हूँ।


मुझे क्या मिला

osTicket के AJAX सबसिस्टम की मैन्युअल कोड समीक्षा करते समय, मैंने ajax.tickets.php में कुछ गड़बड़ देखी। viewField() फ़ंक्शन टिकट फ़ील्ड डेटा देखने के अनुरोधों को संभालता है - और यह टिकट ऑब्जेक्ट को पुनर्प्राप्त करता है और फ़ील्ड के अस्तित्व को मान्य करता है। लेकिन यह कभी जाँच नहीं करता कि अनुरोध करने वाले एजेंट के पास उस टिकट तक पहुँचने की अनुमति है या नहीं।

कोई checkStaffPerm() नहीं। कोई विभाग सत्यापन नहीं। कुछ नहीं।

इसका मतलब है कि कोई भी प्रमाणित एजेंट, यहाँ तक कि एक जो सख्ती से एक ही विभाग तक सीमित है, सिस्टम में किसी भी अन्य विभाग से टिकट फ़ील्ड पढ़ सकता है, बस ticket_id और field_id जानकर या अनुमान लगाकर। ये क्रमिक पूर्णांक हैं। गणना करना आसान है।

जो चीज़ इसे विशेष रूप से स्पष्ट बनाती है, वह है उसी फ़ाइल में ठीक ऊपर स्थित सहोदर फ़ंक्शन editField() के साथ तुलना। editField() सही ढंग से $ticket->checkStaffPerm($thisstaff, Ticket::PERM_EDIT) कॉल करता है और उल्लंघन पर HTTP 403 लौटाता है। फिक्स पहले से ही लिखने के लिए लागू किया गया था — इसे पढ़ने के लिए कभी लागू नहीं किया गया।


अवधारणा का प्रमाण: लाइव डेमो

मैंने एक नियंत्रित प्रयोगशाला वातावरण में शोषण का पूरा एंड-टू-एंड प्रदर्शन रिकॉर्ड किया:

PoC Video — BOLA/IDOR osTicket

वीडियो दिखाता है:

  • दो पृथक विभागों (Dept-A और Dept-B) के साथ प्रयोगशाला सेटअप
  • एजेंट agent_a केवल Dept-A तक पहुँच प्रतिबंधित के साथ प्रमाणित
  • Dept-B के गोपनीय टिकट को लक्षित करने वाला अनधिकृत अनुरोध तैयार करना
  • सर्वर द्वारा HTTP 200 लौटाना जिसमें प्रतिबंधित टिकट फ़ील्ड डेटा उजागर होता है
  • पैच के बाद पुनरावृत्ति HTTP 403 — अनुमति अस्वीकृत दिखाती है

इस रिपॉजिटरी में exploit.py स्क्रिप्ट पूरी श्रृंखला (प्रमाणीकरण → गणना → अनधिकृत फ़ील्ड एक्सेस) को स्वचालित करती है और इसका उपयोग मूल्यांकन के दौरान यह पुष्टि करने के लिए किया गया था कि समस्या मैन्युअल परीक्षण से परे फैलती है।


प्रभाव

  • संवेदनशील डेटा प्रकटीकरण - कोई भी एजेंट सभी विभागों में गोपनीय टिकट फ़ील्ड पढ़ सकता है
  • क्षैतिज विशेषाधिकार वृद्धि - विभागीय सीमाएँ पूरी तरह से बाईपास हो जाती हैं
  • सामूहिक गणना - क्रमिक ticket_id / field_id पूर्णांक बल्क स्क्रैपिंग को तुच्छ बनाते हैं
  • बहु-किरायेदार गोपनीयता उल्लंघन - osTicket के विभाग पृथक्करण मॉडल के मूल डिज़ाइन सिद्धांत को विफल करता है

फिक्स

viewField() में एक पंक्ति का सम्मिलन, टिकट ऑब्जेक्ट प्राप्त होने के तुरंत बाद - बिल्कुल वैसा ही जैसा editField() पहले से सही ढंग से करता है। पूर्ण तकनीकी विवरण, डिफ़ और CVSS ब्रेकडाउन संलग्न रिपोर्ट में हैं।

📄 BOLA_IDOR_osTicket_Report_v2.pdf

✅ आधिकारिक पैच (osTicket टीम द्वारा पुष्टि)

osTicket ने रिपोर्ट की पुष्टि की और अनुरोधित फ़ील्ड को हल/प्रस्तुत करने से पहले $ticket->checkStaffPerm($thisstaff) जोड़कर शमन लागू किया - यह जाँच पहले से ही editField() में मौजूद है। कर्मचारियों के पास अब फ़ील्ड डेटा देखने से पहले मूल टिकट तक पहुँच होनी चाहिए।

osTicket एक संक्षिप्त अपग्रेड बफर की सिफारिश करता है इससे पहले कि एक्सप्लॉइट चरणों को सार्वजनिक रूप से साझा किया जाए। यह रिपॉजिटरी उस मार्गदर्शन का पालन करता है - नीचे प्रकटीकरण समयरेखा देखें।


प्रकटीकरण समयरेखा


इस रिपॉजिटरी में फ़ाइलें

root@kitploit:~
.
├── README.md                        # यह फ़ाइल
├── BOLA_IDOR_osTicket_Report_v2.pdf # पूर्ण तकनीकी प्रकटीकरण रिपोर्ट
├── exploit.py                       # PoC ऑटोमेशन स्क्रिप्ट
└── PoC_osTicket.mov                 # डेमो वीडियो की स्थानीय प्रतिलिपि

जिम्मेदार प्रकटीकरण

मैंने इसे प्रकाशित करने से पहले osTicket सुरक्षा टीम को निजी रूप से रिपोर्ट किया। यह रिपॉजिटरी केवल जिम्मेदार प्रकटीकरण विंडो के बाद सार्वजनिक की गई थी, और अब जब आधिकारिक पैच जारी हो चुका है, तो पूरा विवरण उपलब्ध है। यदि आप osTicket के रखरखावकर्ता हैं और आपके कोई प्रश्न हैं, तो सीधे GitHub के माध्यम से संपर्क करने में संकोच न करें।


द्वारा खोजा गया @JF0x0r · ओपन सोर्स सुरक्षा मायने रखती है।

टूल डाउनलोड करें
विवरणसंदर्भ
पैच कमिटd590a9770d25159fb7741681f36e23a35f1fb5e9
इसमें फिक्स किया गयाv1.17.8 · v1.18.4
आधिकारिक डाउनलोडosticket.com/download
रिलीज़ प्रकारत्वरित सुरक्षा रिलीज़
स्वीकृतिजुआन फेलिप ओज़ (@JF0x0r)
तारीखघटना
27 मार्च, 2026कमज़ोरी की खोज और दस्तावेजीकरण किया गया
27 मार्च, 2026रिपोर्ट [email protected] पर भेजी गई
17 जून, 2026osTicket समस्या की पुष्टि करता है और सत्यापन के लिए शमन पैच साझा करता है
17 जून, 2026osTicket फिक्स युक्त v1.17.8 और v1.18.4 जारी करता है (कमिट d590a9770d25159fb7741681f36e23a35f1fb5e9)
—GitHub CNA के माध्यम से CVE असाइनमेंट लंबित