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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
pgadmin-ai-assistant-sql-injection-cve-2026-17351-lexer-differential-bypass — प्रूफ-ऑफ-कॉन्सेप्ट जो pgAdmin 4 के AI Assistant में sqlparse/PostgreSQL लेक्सर अंतर के माध्यम से CVE-2026-17351 SQL इंजेक्शन बायपास को प्रदर्शित करता है, जिसमें अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन डिलीवरी शामिल है। | Kitploit
उपकरण/GitHubGitHub/hunt-benito/pgadmin-ai-assistant-sql-injection-cve-2026-17351-lexer-differential-bypass
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाAI सुरक्षाडेटाबेस सुरक्षा
GitHubhunt-benito/pgadmin-ai-assistant-sql-injection-cve-2026-17351-lexer-differential-bypass

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

सभी देखें →

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

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

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

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

pgadmin-ai-assistant-sql-injection-cve-2026-17351-lexer-differential-bypass

प्रूफ-ऑफ-कॉन्सेप्ट जो pgAdmin 4 के AI Assistant में sqlparse/PostgreSQL लेक्सर अंतर के माध्यम से CVE-2026-17351 SQL इंजेक्शन बायपास को प्रदर्शित करता है, जिसमें अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन डिलीवरी शामिल है।

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

CVE-2026-17351 — pgAdmin 4 AI Assistant का लेक्सर डिफरेंशियल के माध्यम से रीड-ओनली बायपास

CVE-2026-17351 के लिए PoC — pgAdmin 4 के AI Assistant में एक गंभीर (CVSS 9.0) SQL इंजेक्शन बायपास।

भेद्यता सारांश

pgAdmin 4 संस्करण 9.13 से 9.16, LLM-जनित SQL क्वेरीज़ को एकल, रीड-ओनली स्टेटमेंट के रूप में सत्यापित करने के लिए Python की sqlparse लाइब्रेरी का उपयोग करते हैं। PostgreSQL के standard_conforming_strings = on (PostgreSQL 9.1 के बाद से डिफ़ॉल्ट) के तहत, sqlparse और PostgreSQL इस बात पर असहमत हैं कि स्ट्रिंग लिटरल के अंदर बैकस्लैश को कैसे संभाला जाए। यह एक हमलावर को ऐसा पेलोड बनाने की अनुमति देता है जो sqlparse की वैधता जांच को एकल SELECT के रूप में पास करता है, लेकिन PostgreSQL में चार स्टेटमेंट के रूप में निष्पादित होता है — जिसमें एक COMMIT शामिल है जो रीड-ओनली ट्रांज़ैक्शन को समाप्त करता है और उसके बाद आने वाले राइट स्टेटमेंट भी।

पेलोड

root@kitploit:~
SELECT '\';COMMIT;CREATE TABLE pwn(x int);SELECT 1 --'
  • sqlparse एक बड़े स्ट्रिंग लिटरल के साथ एक SELECT देखता है → वैधता जांच पास हो जाती है
  • PostgreSQL देखता है: SELECT '\' + COMMIT + CREATE TABLE pwn(x int) + SELECT 1 --'

डिलीवरी

पेलोड अप्रत्यक्ष प्रॉम्प्ट इंजेक्शन के माध्यम से डिलीवर किया जाता है: हमलावर इसे उस डेटाबेस ऑब्जेक्ट (कॉलम कमेंट, रो वैल्यू, व्यू डेफिनिशन) के अंदर लगाता है जिसे AI Assistant पढ़ता है। जब कोई वैध उपयोगकर्ता प्रश्न पूछता है, तो LLM दूषित डेटा को पढ़ता है और उसे execute_sql_query टूल कॉल के रूप में उत्सर्जित करता है।

फ़ाइलें

फ़ाइलविवरण
poc.pyलेक्सर डिफरेंशियल प्रदर्शित करता है: sqlparse वैधता जांच पास होती है, सिंपल क्वेरी प्रोटोकॉल कई स्टेटमेंट निष्पादित करता है, एक्सटेंडेड क्वेरी प्रोटोकॉल इसे ब्लॉक करता है
prompt_injection_demo.pyपूरी हमले की श्रृंखला का अनुकरण करता है: पेलोड कॉलम कमेंट के रूप में लगाया गया → अनुकरणित LLM इसे पढ़ता है → वैधता जांच पास होती है → निष्पादन

आवश्यकताएँ

root@kitploit:~
pip install psycopg[binary] sqlparse

आपको एक चालू PostgreSQL इंस्टेंस (14+) की भी आवश्यकता है:

root@kitploit:~
docker run -d --name pg-poc \
    -e POSTGRES_PASSWORD=secret \
    -e POSTGRES_DB=testdb \
    -p 5433:5432 \
    postgres:18

उपयोग

root@kitploit:~
# Main PoC — lexer differential demonstration
python3 poc.py

# Prompt injection delivery demo
python3 prompt_injection_demo.py

# Custom connection parameters
python3 poc.py --host 10.0.0.5 --port 5432 --user postgres --password mypw

फिक्स (pgAdmin 9.17)

फिक्स psycopg3 के एक्सटेंडेड क्वेरी प्रोटोकॉल को इन तरीकों से बाध्य करता है:

  1. LLM के समर्पित कनेक्शन पर conn.prepare_threshold = 0 सेट करना
  2. cursor.execute() में prepare=True पास करना

यह PostgreSQL के अपने Parse चरण को स्टेटमेंट सीमाओं का प्राधिकार बनाता है — यह संरचनात्मक रूप से मल्टी-स्टेटमेंट टेक्स्ट को अस्वीकार कर देता है, भले ही कोई भी क्लाइंट-साइड लेक्सर इसे कैसे भी वर्गीकृत करे।

संदर्भ

  • CVE: https://nvd.nist.gov/vuln/detail/CVE-2026-17351
  • GitHub Issue: https://github.com/pgadmin-org/pgadmin4/issues/10192
  • फिक्स कमिट: https://github.com/pgadmin-org/pgadmin4/commit/ef76102bcd1cdb544eb9b4ef18d3382f22b76752
  • मूल CVE (CVE-2026-12045): https://nvd.nist.gov/vuln/detail/CVE-2026-12045
  • रिपोर्टर: Kai Aizen (SnailSploit)

अस्वीकरण

यह PoC केवल शैक्षिक और अधिकृत परीक्षण उद्देश्यों के लिए है।

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