
إثبات المفهوم لـ CVE-2020-9715، وهي ثغرة استخدام بعد التحرير (use-after-free) في محرك EScript لبرنامج Adobe Acrobat Reader DC. ينشئ ملف PDF يطلق نمط الثغرة للتحقق من اكتشاف EDR. لا يتضمن حمولة مسلحة.
ثغرة استخدام بعد التحرير (Use-after-free) في ذاكرة التخزين المؤقت ESObject الخاصة بـ EScript.api في Adobe Acrobat Reader DC. للاختبار المصرح به من قبل الفريق الأحمر لـ EDR فقط.
Adobe Acrobat Reader DC الإصدار 2020.009.20063 أو أقل. يقوم محرك EScript بتخزين كائنات ESObject للبيانات مؤقتًا باستخدام مفاتيح تحافظ على الترميز الأصلي (ANSI أو Unicode). دائمًا ما تُبنى مفاتيح Unicode عند الحذف، لذا لا يتم مسح الإدخالات المسماة بـ ANSI من ذاكرة التخزين المؤقت. بعد أن يحرر جامع القمامة (GC) الكائن الأساسي، يصبح إدخال ذاكرة التخزين المؤقت القديم مؤشرًا معلقًا (dangling pointer).
OpenAction إلى dataObjects لملء ذاكرة التخزين المؤقت لـ ESObjectArrayBuffer لاستعادة الذاكرة المحررةيقوم إثبات المفهوم هذا بتشغيل نمط الثغرة ولكنه لا يتضمن حمولة مسلحة (لا يوجد شيلكود، ولا سلسلة ROP). وهو مصمم للتحقق مما إذا كان نظام EDR الخاص بك يكتشف تقنية الاستغلال.
python generate_poc.py # Generates CVE-2020-9715.pdf
python generate_poc.py -o custom.pdf # Custom output path
لا توجد تبعيات خارجية - يستخدم فقط مكتبة Python القياسية.
يجب أن يعتمد EDR الخاص بك على واحد أو أكثر مما يلي:
ArrayBuffer)dataObjects متبوعًا بـ GC قسري وإعادة الوصول (نمط UAF)OpenAction + EmbeddedFiles + JavaScriptتم التصحيح في APSB20-48 (أغسطس 2020).