Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Kestra-cve-2026-53576 — End-to-end reproduction and cross-layer detection of CVE-2026-53576, the unauthenticated RCE in Kestra - taken past the base PoC to show how a common Docker-socket misconfiguration turns container-root into full host compromise. | Kitploit
उपकरण/GitHubGitHub/atlasvector/kestra-cve-2026-53576
Privilege EscalationContainer SecurityPersistence MechanismsVulnerability AnalysisExploitationPost-ExploitationPenetration TestingPapers & ResearchRed TeamingIncident ResponseLabs & Practice
2124 दिन पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
GitHub
atlasvector/kestra-cve-2026-53576

Kestra-cve-2026-53576

End-to-end reproduction and cross-layer detection of CVE-2026-53576, the unauthenticated RCE in Kestra - taken past the base PoC to show how a common Docker-socket misconfiguration turns container-root into full host compromise.

रिपॉजिटरी देखें

Kestra में ट्रेलिंग-पाथ ऑथ बायपास के माध्यम से अनऑथेंटिकेटेड RCE (CVE-2026-53576)

विषय-सूची

  • कार्यकारी सारांश
  • 1. सारांश
  • 2. प्रभावित / ठीक किए गए संस्करण
  • 3. परीक्षण वातावरण और प्री-फ़्लाइट जाँच
  • 4. मूल कारण
  • 5. हमला अनुकरण
  • 6. डिटेक्शन इंजीनियरिंग
  • 7. ATT&CK मैपिंग
  • 8. उपचार और हार्डनिंग
  • 9. संदर्भ

कार्यकारी सारांश

Kestra, एक ओपन-सोर्स वर्कफ़्लो ऑर्केस्ट्रेशन प्लेटफ़ॉर्म, ने एक ऑथेंटिकेशन फ़िल्टर भेजा जो यह तय करता था कि किसी अनुरोध को क्रेडेंशियल्स की आवश्यकता है या नहीं, यह जाँच करके कि URL /configs पर समाप्त होता है या नहीं - यह जाँच एक हानिरहित सार्वजनिक एंडपॉइंट को उजागर करने के लिए थी।

चूँकि जाँच केवल स्ट्रिंग के अंत को देखती थी, कोई भी अनुरोध जिसका URL उस तरह से समाप्त होता था, ऑथेंटिकेशन को पूरी तरह से छोड़ देता था, जिसमें वे एंडपॉइंट भी शामिल थे जो मनमाना कोड बनाते और चलाते हैं। परिणाम: कोई भी व्यक्ति जो नेटवर्क पर एक कमज़ोर Kestra इंस्टेंस तक पहुँच सकता है, शून्य क्रेडेंशियल्स के साथ root के रूप में कमांड चला सकता है, कोई फ़िशिंग नहीं, कोई पासवर्ड अनुमान नहीं, कोई विशेषाधिकार वृद्धि चरण आवश्यक नहीं।

इस अभ्यास में, उस एकल अंतराल को एक स्व-होस्टेड लैब इंस्टेंस के विरुद्ध शुरू से अंत तक निभाया गया:

  • अनऑथेंटिकेटेड कोड निष्पादन।
  • एक उजागर Docker सॉकेट की खोज।
  • अंतर्निहित होस्ट पर पूर्ण root पहुँच तक वृद्धि।
  • दो स्वतंत्र दृढ़ता तंत्र (एक SSH बैकडोर कुंजी और एक शेड्यूल्ड बीकन)।

प्रत्येक चरण को रक्षात्मक टेलीमेट्री (नेटवर्क IDS, होस्ट रनटाइम सुरक्षा, Linux ऑडिट, और सिस्टम लॉग) के विरुद्ध कैप्चर किया गया।

यदि अनपैच्ड छोड़ा जाए तो व्यावसायिक प्रभाव: Kestra चलाने वाले होस्ट का पूर्ण समझौता, केवल एप्लिकेशन का नहीं - और विस्तार से उस होस्ट से पहुँचने योग्य किसी भी अन्य चीज़ का भी।

समाधान: Kestra 1.0.45 / 1.3.21 या बाद के संस्करण में अपग्रेड करें (अकेला पैच प्राथमिक भेद्यता को बंद कर देता है; वृद्धि और दृढ़ता के चरणों के लिए एक अलग, स्वतंत्र समाधान की आवश्यकता होती है - Docker सॉकेट को एप्लिकेशन कंटेनरों में माउंट न करें, अनुभाग 8 देखें)।

1. सारांश

यह रिपोर्ट CVE-2026-53576 का दस्तावेज़ीकरण करती है, जो Kestra ≤1.3.20 में एक CVSS 10.0 अनऑथेंटिकेटेड रिमोट कोड निष्पादन भेद्यता है, जो एक पाथ-सफ़िक्स ऑथेंटिकेशन बायपास (AuthenticationFilter.java, endsWith("/configs")) के कारण होती है।

एक हमलावर जो किसी वर्कफ़्लो का नेमस्पेस और ID configs नाम देता है, बिना क्रेडेंशियल्स के, Kestra कंटेनर के अंदर root के रूप में मनमाना शेल कमांड बना और चला सकता है। 1.0.45 और 1.3.21 में ठीक किया गया। यही बग स्वतंत्र रूप से CVE-2026-49869 के अंतर्गत भी रिपोर्ट किया गया था, जो CISA KEV-सूचीबद्ध संख्या है जो वास्तविक इन-द-वाइल्ड शोषण से जुड़ी है। दोनों को एक साथ उद्धृत किया जाना चाहिए, क्योंकि सार्वजनिक स्रोत और स्कैनर या तो किसी एक का संदर्भ दे सकते हैं।

2. प्रभावित / ठीक किए गए संस्करण

कमज़ोरKestra ≤ 1.3.20 (और 1.0.x लाइन पर pre-1.0.45)
ठीक किया गया1.0.45 / 1.3.21+
CVECVE-2026-53576
जुड़वाँ सलाहCVE-2026-49869 - वही बग, CISA KEV-सूचीबद्ध (इन-द-वाइल्ड)

समयरेखा

दिनांकघटना
2026-06-02Kestra 1.3.21 जारी; चेंजलॉग "ऑथेंटिकेशन फ़िल्टर में संभावित ऑथेंटिकेशन बायपास" का संदर्भ देता है
2026-06-03Kestra 1.0.45 1.0.x लाइन पर जारी
2026-09-02CVE-2026-49869 (जुड़वाँ सलाह) CISA KEV कैटलॉग में जोड़ा गया
2026-09-22 से 09-24यह लैब प्रतिकृति, डिटेक्शन बिल्ड, और क्रॉस-लेयर सत्यापन

3. परीक्षण वातावरण और प्री-फ़्लाइट जाँच

स्व-होस्टेड होमलैब: - Debian होस्ट (होस्टनाम docker, कर्नेल 6.12.107+deb13-amd64), - Docker Engine 29.8.1। - Kestra आधिकारिक kestra/kestra:v1.3.20 इमेज के रूप में तैनात, kestra.int.atlasvec.com पर एक Caddy रिवर्स प्रॉक्सी के माध्यम से पहुँच योग्य। - परीक्षण के अंतर्गत टेलीमेट्री स्टैक: Falco (रनटाइम/eBPF, होस्ट-स्तर), - Suricata 8.0.3 IDS (निष्क्रिय SPAN मिरर), Splunk की ओर अग्रेषित।

कुछ भी छूने से पहले, मैंने पुष्टि की कि लक्ष्य वास्तव में कमज़ोर था और टेलीमेट्री स्टैक सक्रिय था। मैंने हमले-पूर्व स्थिति का स्नैपशॉट भी लिया ताकि काम पूरा होने पर मैं वापस लौट सकूँ।

Kestra कमज़ोर संस्करण चला रहा है: 01-kestra-version-v1.3.20

कंटेनर स्वयं, चालू और पहुँच योग्य: 06-docker-kestra-running

होस्ट पर लोड किए गए Falco के यूनिट: 02-falco-units-one-active

Falco सक्रिय रूप से इवेंट उत्सर्जित कर रहा है (आधुनिक eBPF मोड): 03-falco-modern-bpf-active-emitting

Suricata की सेवा सक्रिय: 04-suricata-systemctl-active

और इसका eve.json लाइव इवेंट लिख रहा है: 05-suricata-eve-json-live

4. मूल कारण

यह दो गलतियाँ हैं जो एक साथ मिलती हैं, एक नहीं।

पहला, ऑथेंटिकेशन फ़िल्टर यह तय करता है कि कोई अनुरोध ऑथ को छोड़ सकता है या नहीं, यह अनुरोध पथ के अंत से मिलान करके करता है:```java // AuthenticationFilter.java — the vulnerable check, confirmed against the self-hosted v1.3.20 source if (path.endsWith("/configs")) { // treated as a public, unauthenticated path }

यह जाँच एक हानिरहित एंडपॉइंट, सार्वजनिक इंस्टेंस कॉन्फ़िग को उजागर करने के लिए मौजूद है। चूँकि `endsWith` केवल स्ट्रिंग के अंत को पढ़ता है, यह एक सुरक्षित पथ को किसी अन्य पथ से अलग नहीं बता सकता जो संयोगवश उसी तरह समाप्त होता है।

दूसरा, Kestra का राउटर अभी भी उन मिलते-जुलते पथों को उनके वास्तविक, संवेदनशील हैंडलरों तक पहुँचाता है। `/api/v1/main/flows/configs` फ़्लो-क्रिएट हैंडलर तक पहुँचता है। `/api/v1/main/executions/configs/configs` एक्ज़ीक्यूशन हैंडलर तक पहुँचता है। फ़िल्टर दोनों को सार्वजनिक के रूप में पास कर देता है, और राउटर उन्हें वैसे भी चलाता है। किसी फ़्लो के namespace और ID को `configs` नाम दें, और एक कोड-निष्पादक एंडपॉइंट अब `/configs` पर समाप्त होता है, इसलिए यह सार्वजनिक पथ के मुफ़्त पास को विरासत में ले लेता है।

कैप्चर किया गया अनुरोध युग्म इसे स्पष्ट रूप से दिखाता है। बिना क्रेडेंशियल के `GET /api/v1/main/flows/search` `401` लौटाता है। उसी खाली auth हेडर के साथ `POST /api/v1/main/flows/configs` `200` लौटाता है और फ़्लो को संग्रहीत करता है (§5.1 देखें)।

## 5. हमला सिमुलेशन
टूल डाउनलोड करें