cve: مجموعة من الأكواد المتعلقة بـ CVE-2016-0728 (مؤلفون مختلفون)
مقتطفات من Linux تُظهر تطور الخلل وإصلاحه
كود الاستغلال من Perception Point مع تعليقات إضافية تشرح ما يفعله كل سطر.
سكربت قصير يستخدم التسريب لزيادة عدّاد الاستخدام، مفيد لتحديد ما إذا كان الخلل موجودًا على نظامك.
نسخة من الاستغلال تتجاوز مغلّفات استدعاء النظام (للأنظمة التي لا تنفّذ مغلّفات keycntl).
أول تصحيح طارئ من يناير 2016
أفضل طريقة لتكرار هذا الاستغلال هي العثور على إصدار متأثر من بناء Linux، مدرج أدناه. قد تحتوي ملفات ISO على تصحيحات مرتجعة (back-ported)، لذا تحتاج إلى تنزيل الكود المصدري وترجمته بنفسك.
تشغيل الاستغلال على إصدار حديث من Ubuntu (معدّل للإبقاء على الخلل) أعطى نتائج غريبة. كتبت test.c لتتبّعه، مع إخراج إلى ملف keylog. يعمل البرنامج بشكل مستقل عن الاستغلال، مستخدمًا nanosleep للتحكم في تردد أخذ العينات. keylog هو المخرجات الناتجة عن التشغيل بفترة 500 نانوثانية لنحو نصف ثانية.
تفسير ملف keylog: الرقم على اليسار هو رقم التكرار. يُخرج قيمة عندما يتغير الميل. tState يعدّ عدد التكرارات منذ آخر تغيير للميل. إنه عشوائي تمامًا ولا يستحق الدراسة.
في هذا الاختبار كان هناك مخرجات غير متوقعة ولا تجاوز عدد صحيح، مما يعني أن الاستغلال يفشل على الإصدار الحديث، سواء كان معدّلًا أم لا. بدلًا من ذلك، قم بترجمة إصدار من القائمة.
الإصدارات المتأثرة
Red Hat Enterprise Linux 7
CentOS Linux 7
Scientific Linux 7
Debian Linux stable 8.x (jessie)
Debian Linux testing 9.x (stretch)
SUSE Linux Enterprise Desktop 12
SUSE Linux Enterprise Desktop 12 SP1
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server 12 SP1
SUSE Linux Enterprise Workstation Extension 12
SUSE Linux Enterprise Workstation Extension 12 SP1