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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-26198-analysis — ऑरमार ORM में एक गंभीर SQL इंजेक्शन पर गहन अध्ययन — प्रजनन, समाधान और परीक्षण | Kitploit
उपकरण/GitHubGitHub/sergicortesabadia/cve-2026-26198-analysis
भेद्यता विश्लेषणकोड विश्लेषणवेब सुरक्षापेपर और शोधलर्निंग और शिक्षा
GitHubsergicortesabadia/cve-2026-26198-analysis

CVE-2026-26198-analysis

ऑरमार ORM में एक गंभीर SQL इंजेक्शन पर गहन अध्ययन — प्रजनन, समाधान और परीक्षण

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

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

सभी देखें →

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

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

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

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

CVE-2026-26198 — Ormar ORM में SQL इंजेक्शन

Python async ORM में एक गंभीर (CVSS 9.8) SQL इंजेक्शन भेद्यता पर गहन विश्लेषण, जिसमें पुनरुत्पादन, विश्लेषण और समाधान शामिल है।

भेद्यता

Ormar Python के लिए एक लोकप्रिय async मिनी ORM है, जिसे आमतौर पर FastAPI और Starlette के साथ उपयोग किया जाता है। संस्करण 0.9.9 से 0.22.0 में min() और max() एग्रीगेट विधियों में SQL इंजेक्शन भेद्यता है।

मूल कारण एक "आंशिक कार्यान्वयन" बग है: जबकि sum() और avg() यह सत्यापित करते हैं कि कॉलम पैरामीटर एक वास्तविक संख्यात्मक फ़ील्ड को संदर्भित करता है, min() और max() इस जाँच को पूरी तरह से छोड़ देते हैं और उपयोगकर्ता इनपुट को सीधे sqlalchemy.text() — एक रॉ SQL सिंक — में पास कर देते हैं।

एक हमलावर "कॉलम" पैरामीटर के रूप में एक सबक्वेरी इंजेक्ट कर सकता है:

root@kitploit:~
# अपेक्षित उपयोग
await Item.objects.max("price")  # → SELECT max(price) FROM items

# हमले का पेलोड
await Item.objects.max("(SELECT password FROM users LIMIT 1)")
# → SELECT max((SELECT password FROM users LIMIT 1)) FROM items
# एडमिन का पासवर्ड लौटाता है!

त्वरित तथ्य

विशेषतामान
CVE IDCVE-2026-26198
CVSS स्कोर9.8 (गंभीर)
CWECWE-89: SQL इंजेक्शन
प्रभावितormar 0.9.9 – 0.22.0
समाधानormar 0.23.0
प्रकाशित24 फरवरी, 2026
प्रमाणीकरण आवश्यक?नहीं — बिना प्रमाणीकरण

प्रोजेक्ट संरचना

root@kitploit:~
├── README.md               ← आप यहाँ हैं
├── vulnerable_app.py       ← भेद्य पैटर्न वाला न्यूनतम FastAPI ऐप
├── exploit_demo.py         ← इंजेक्शन को क्रियाशील दिखाने वाला सुरक्षित PoC
├── patched_app.py          ← इनपुट सत्यापन के साथ समाधान संस्करण
├── test_vulnerability.py   ← भेद्यता के अस्तित्व और समाधान की पुष्टि करने वाले परीक्षण
├── requirements.txt
└── analysis/
    └── root_cause.md       ← बग का विस्तृत कोड-स्तरीय विश्लेषण

डेमो चलाना

root@kitploit:~
git clone https://github.com/YOUR_USERNAME/CVE-2026-26198-analysis.git
cd CVE-2026-26198-analysis
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt

# परीक्षण चलाएँ (कोई बाहरी DB आवश्यक नहीं — SQLite का उपयोग करता है)
python -m pytest test_vulnerability.py -v

# इंटरैक्टिव एक्सप्लॉइट डेमो चलाएँ
python exploit_demo.py

समाधान

समाधान यह सत्यापित करता है कि कॉलम पैरामीटर sqlalchemy.text() तक पहुँचने से पहले मॉडल पर एक वास्तविक फ़ील्ड से मेल खाता है। यह व्हाइटलिस्ट दृष्टिकोण के माध्यम से किया जाता है: केवल वे कॉलम नाम अनुमत हैं जो मॉडल की फ़ील्ड परिभाषाओं में मौजूद हैं।

कार्यान्वयन के लिए patched_app.py और पूर्ण विवरण के लिए analysis/root_cause.md देखें।

मुख्य निष्कर्ष

  1. ORM स्वचालित SQL इंजेक्शन सुरक्षा नहीं हैं। यदि कोई ORM विधि एक रॉ स्ट्रिंग स्वीकार करती है और उसे टेक्स्ट क्लॉज़ में पास करती है, तो यह रॉ SQL लिखने जितनी ही खतरनाक है।
  2. आंशिक सत्यापन बिना सत्यापन से भी बदतर है। तथ्य यह है कि sum()/avg() सत्यापित थे लेकिन min()/max() नहीं थे, ने सुरक्षा की झूठी भावना पैदा की।
  3. ब्लैकलिस्ट नहीं, व्हाइटलिस्ट करें। समाधान दुर्भावनापूर्ण पैटर्न को फ़िल्टर करने की कोशिश करने के बजाय ज्ञात-अच्छे कॉलम नामों के विरुद्ध सत्यापित करता है।

संदर्भ

  • GitHub सलाह (GHSA-xxh2-68g9-8jqr)
  • NVD प्रविष्टि
  • Ormar रिपॉजिटरी

लाइसेंस

MIT

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