
إثبات مفهوم لـ CVE-2026-4480، وهي ثغرة حقن أوامر في اسم وظيفة الطباعة في Samba. يوضح الاستغلال عبر أسماء وظائف طباعة خبيثة ويتضمن إرشادات الكشف والتخفيف.
CVE-2026-4480 هو ثغرة حقن أوامر تؤثر على بعض تكوينات الطباعة في سامبا التي تستخدم أوامر طباعة خارجية.
يوجد الثغرة لأن سامبا يُدرج بيانات تعريف وظيفة الطباعة التي يتحكم بها المستخدم في أمر قشرة دون الهروب الصحيح من الأحرف الخاصة بالقشرة. في ظل تكوينات محددة، يمكن للمهاجم تقديم اسم وظيفة طباعة ضار يتسبب في تنفيذ أوامر عشوائية على الخادم.
الخطورة تكمن بشكل خاص لأن بعض مشاركات الطابعة تسمح بالوصول كضيف، مما يسمح بالاستغلال بدون مصادقة.
يدعم سامبا العديد من أنظمة الطباعة الخلفية. أحد الخيارات القديمة، المعروف غالبًا باسم الطباعة بنمط sysv، ينفذ أمرًا خارجيًا عند اكتمال وظيفة الطباعة.
يمكن للمسؤولين تكوين الأوامر باستخدام وحدات ماكرو للاستبدال مثل:
print command = /usr/local/bin/print-helper %s %J
حيث:
%s → مسار ملف السحب%J → اسم وظيفة الطباعة المقدم من العميلقبل الإصلاح، كانت قيمة %J تخضع لتنقية ضئيلة قبل إدراجها في أمر يُنفذ عبر قشرة النظام.
ونظرًا لبقاء الأحرف الخاصة بالقشرة سليمة، يمكن لأسماء الوظائف المصممة خصيصًا تغيير تدفق الأوامر المقصود وتنفيذ تعليمات يتحكم بها المهاجم.
يتكون الهجوم النموذجي من أربع مراحل:
إذا كان أمر الطباعة يشير إلى %J، يصبح حمولة المهاجم جزءًا من أمر القشرة ويُنفذ بصلاحيات عملية الطباعة في سامبا.
ليس كل تثبيت لسامبا معرضًا للخطر.
يجب أن تتوفر الشروط التالية عمومًا:
%J.النشر الحديث الذي يستخدم الطباعة المعتمدة على CUPS لا يُظهر مسار الهجوم هذا لأن الوظائف تُمر عبر واجهة CUPS API بدلاً من أمر قشرة.
قد يسمح الاستغلال الناجح للمهاجم بما يلي:
تعتمد شدة الثغرة بشكل كبير على صلاحيات عملية الطباعة وتكوين النظام المحيط.
الإصدارات المتأثرة تشمل الإصدارات السابقة لـ:
الأنظمة التي تستخدم إصدارات أحدث غير متأثرة بهذه المشكلة.
تشمل التخفيفات الموصى بها:
%J من أوامر الطباعة إذا لم يكن مطلوبًا.printing = cups حيثما أمكن.يجب على المدافعين التحقق من:
smbd التي تُنتج مفسرات قشرة بشكل غير متوقعsh
bash
python
perl
nc
curl
wget
مراقبة إنشاء العمليات من خدمة سامبا يمكن أن يساعد في تحديد محاولات الاستغلال.
هذا المستودع مخصص للأغراض التعليمية والبحث الأمني المأذون به فقط.
لا تستخدم هذا الكود ضد أنظمة أو شبكات أو خدمات دون إذن صريح من المالك. الوصول غير المصرح به إلى أنظمة الكمبيوتر غير قانوني وغير أخلاقي.
قم دائمًا بإجراء الاختبار في بيئات معملية معزولة أو منصات مصممة خصيصًا للتدريب الأمني.