
بيئة إعادة إنتاج لـ CVE-2026-44656، وهي ثغرة حقن أوامر في سطر أوامر Vim (modeline). تتضمن إعداد Docker، وملف PoC، وسكربت استغلال لإظهار تنفيذ أوامر عشوائية عبر توسيع علامات backtick في خيار المسار (path).
English|中文
يوفر هذا المستودع بيئة إعادة إنتاج لثغرة CVE-2026-44656. تنبع الثغرة من خلل في معالجة Vim لتعبيرات توسيع علامات الاقتباس الخلفية (backtick) في خيار path داخل modelines. يمكن للمهاجمين تشغيل أوامر عشوائية باستخدام ميزة الإكمال التلقائي بعلامة Tab لأمر :find.
path)path ليشمل تعبير backtick. عندما يقوم المستخدم بتشغيل إكمال المسار باستخدام :find + Tab، يتم تقييم التعبير، مما يؤدي إلى تنفيذ أوامر عشوائية.# 1. بناء صورة Docker
docker build -t cve_2026_44656_vim .
# 2. تشغيل الحاوية
docker run -it cve_2026_44656_vim
# 3. فتح ملف PoC داخل الحاوية
vim poc.txt
# 4. تشغيل الثغرة
# اكتب: :find
# ثم اضغط على مفتاح Tab لتشغيل إكمال المسار
# 5. الخروج من Vim
# اضغط ESC، ثم اكتب :q واضغط Enter
# 6. تحقق من نجاح استغلال الثغرة
ls sakana.pwn # ./eval.sh يقوم بإنشاء الملف في الخلفية
Dockerfile - يبني حاوية قائمة على Debian تحتوي على الإصدار المعرض للثغرة من Vimpoc.txt - ملف PoC يحتوي على modeline الخبيثeval.sh - سكربت حمولة الهجوم (ينشئ sakana.pwn كتحقق)vimrc - ملف إعدادات Vim الذي يقوم بتمكين modelinevim/ - الكود المصدري لإصدار Vim المعرض للثغرةأضف set nomodeline إلى ملف vimrc الخاص بك لتعطيل معالجة modeline، أو تجنب فتح الملفات غير الموثوقة مع تفعيل modeline.