
CVE-2023-22884 إثبات المفهوم
PoC لـ CVE-2023-22884 هي ثغرة تنفيذ أوامر عن بعد (RCE) في Apache Airflow تؤثر على الإصدارات السابقة لـ 2.4.0.
يقول التقرير الرسمي:
عدم تحييد العناصر الخاصة المستخدمة في أمر (ثغرة حقن الأوامر) في مؤسسة برامج أباتشي Apache Airflow، ومزود MySQL الخاص بـ Apache Airflow. تؤثر هذه المشكلة على Apache Airflow: قبل الإصدار 2.5.1؛ ومزود MySQL الخاص بـ Apache Airflow: قبل الإصدار 4.0.0. (المصدر)
الإصدارات المتأثرة من هذه الحزمة عرضة لحقن الأوامر بسبب عدم تعقيم المدخلات في عبارة LOAD DATA LOCAL INFILE، والتي يمكن للمهاجم استخدامها لتنفيذ أوامر على نظام التشغيل. (المصدر)
تم إنشاء هذا المستودع لمقال تحليل لـ CVE متاح على مدونة vsociety.
يمكنك استنساخ المستودع:
git clone https://github.com/jakabakos/CVE-2023-22884-Airflow-SQLi.git
cd CVE-2023-22884-Airflow-SQLi/airflow-2.5.0
قم بتشغيله باستخدام docker-compose run --build.
نتيجة لذلك، يجب أن ترى في السجلات أن خادم الويب والمكونات الأخرى قيد التشغيل وأن هناك نموذج تسجيل دخول تحت localhost:8080. اسم المستخدم وكلمة المرور الافتراضيان هما airflow.
انظر إلى مثال DAG في مجلد dags.
يمكنك تشغيل الأداة في وضعي الاختبار والهجوم.
cd exploit
# تشغيل الأداة في وضع الاختبار:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode test -ci mysql -di bulk_load_from_file
# تشغيل الأداة في وضع الهجوم:
python3 exploit.py -u admin -p admin --host http://localhost:8080 --mode attack -ci mysql -di bulk_load_from_file -dc dag_config.json
تم إنشاء هذا البرنامج لأغراض البحث الأكاديمي فقط ولتطوير تقنيات دفاعية فعالة، وليس المقصود استخدامه لمهاجمة الأنظمة إلا بإذن صريح. المسؤولون عن المشروع غير مسؤولين أو غير ملزمين عن سوء استخدام البرنامج. استخدم بمسؤولية.