Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/kha-beleh/poc-cve-2025-69420
تحليل الثغرات الأمنيةالاستغلالالاختبار العشوائيالتشفيرالتعلم والتعليماستغلال الملفات الثنائية
GitHubkha-beleh/poc-cve-2025-69420

PoC-CVE-2025-69420

عرض المستودع
منذ 29 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

CVE-2025-69420 — إثبات مفهوم (PoC) لالتباس النوع في استجابة الطابع الزمني لـ OpenSSL

مُعيد إنتاج مخبري يسبب الانهيار فقط (Crash-only) لثغرة CVE-2025-69420 في OpenSSL. يقوم إثبات المفهوم بتحميل استجابة طابع زمني صالحة وفق RFC 3161، ويغيّر سمة ESS الموقّعة من V_ASN1_SEQUENCE إلى V_ASN1_NULL في الذاكرة، ثم يستدعي الدالة TS_RESP_verify_response().

على بناء مُتأثّر، يصل ossl_ess_get_signing_cert_v2() أو ossl_ess_get_signing_cert() إلى اتحاد ASN1_TYPE بوصفه تسلسلًا دون التحقق من النوع النشط. يُبلِّغ UBSan عن وصول إلى عضو عبر مؤشر ASN1_STRING فارغ. الأثر المتوقع هو إنهاء العملية / حرمان من الخدمة؛ لا يحتوي هذا المستودع على أي منطق لتنفيذ برمجيات.

النتيجة المؤكدة

يؤكد مخرَج الاختبار المرفَق المشكلة:

root@kitploit:~
runtime error: member access within null pointer of type 'struct ASN1_STRING'
#0 ossl_ess_get_signing_cert_v2
#1 ts_check_signing_certs
#2 TS_RESP_verify_signature
#3 int_ts_RESP_verify_token
#4 TS_RESP_verify_response

يتوافق ذلك مع وصف الثغرة: تصل استجابة طابع زمني مشوّهة إلى TS_RESP_verify_response()، وتؤدي سمة شهادة توقيع ESS من نوع مختلف عن V_ASN1_SEQUENCE إلى إلغاء مرجعية مؤشر غير صالح أو فارغ.

النطاق

اختبرها فقط في بيئة معزولة ضد بناء OpenSSL تملكه أو مُخوَّل بتقييمه. هذا مُعيد إنتاج يسبب الانهيار فقط.

المتطلبات

  • Linux وGCC
  • بناء OpenSSL مُتأثّر مُترجَم مع ASan وUBSan
  • ملفات رؤوس تطوير OpenSSL في شجرة البناء

مسار البناء الافتراضي:

root@kitploit:~
/path/to/openssl-3.0.7-asan

يمكنك تجاوزه عند الحاجة:

root@kitploit:~
export OPENSSL_BUILD=/path/to/openssl-asan-build

الاستخدام

root@kitploit:~
git clone https://github.com/Kha-Beleh/PoC-CVE-2025-69420.git
cd PoC-CVE-2025-69420

export OPENSSL_BUILD=/path/to/openssl-3.0.7-asan
make prepare
make build
make run

أو شغّل كل خطوة على حدة:

root@kitploit:~
./scripts/prepare.sh
./scripts/build.sh
./scripts/run.sh

يستخدم السكربت prepare.sh ملف openssl.cnf الأدنى الخاص بالمستودع، لذا لا يعتمد على $OPENSSL_BUILD/ssl/openssl.cnf غير الموجود.

المخرجات المتوقعة على بناء مُتأثّر

root@kitploit:~
[+] Loaded valid TimeStamp Response
[+] Found attribute: id-smime-aa-signingCertificateV2
[+] Original ASN.1 type: 16
[+] Attribute changed to V_ASN1_NULL
[+] Calling TS_RESP_verify_response()
crypto/ts/ts_rsp_verify.c:...: runtime error: member access within null pointer of type 'struct ASN1_STRING'
    #0 ... in ossl_ess_get_signing_cert_v2
    #1 ... in ts_check_signing_certs
    #2 ... in TS_RESP_verify_signature
    #3 ... in int_ts_RESP_verify_token
    #4 ... in TS_RESP_verify_response

تختلف العناوين وأرقام الأسطر الدقيقة حسب البناء. مع ضبط UBSAN_OPTIONS=halt_on_error=1، تُنهى العملية عند أول عملية غير محددة يتم اكتشافها.

النتيجة المتوقعة على بناء مُصحَّح

يجب أن تُرفَض السمة المشوّهة برفض نظيف دون اكتشاف من المُنقّي أو انهيار للعملية. عندها يطبع إثبات المفهوم:

root@kitploit:~
[+] Malformed response rejected without a crash

التفسير التقني

قيمة نوع السمة الأصلية 16 هي V_ASN1_SEQUENCE. يغيّرها إثبات المفهوم إلى V_ASN1_NULL. في التنفيذ المُتأثّر، يتعامل الكود لاحقًا مع عضو الاتحاد بوصفه value.sequence ويلغي مرجعيته. ولأن العضو النشط ليس تسلسلًا، يكتشف UBSan وصولًا إلى عضو عبر مؤشر ASN1_STRING * فارغ.

هذا التباس في النوع / نقص في فحص الحالة الاستثنائية، وليس تدفّقًا للمخزن المؤقت في الكومة أو المكدس.

الملفات

  • poc.c — مُعيد إنتاج أدنى
  • scripts/prepare.sh — يولّد مفتاح TSA وشهادة وطلبًا واستجابة صالحة
  • scripts/build.sh — يترجم ضد بناء OpenSSL مع ASan/UBSan
  • scripts/run.sh — يشغّل مع إعدادات المُنقّي
  • openssl.cnf — إعداد أدنى للمزوّد/الطلب
  • tsa.conf — إعداد TSA محلي وفق RFC 3161
  • evidence/confirmed-output.txt — تتبّع مُنقٍّ مؤكَّد ومختصَر

المراجع

  • NVD: CVE-2025-69420
  • إصلاح OpenSSL: الالتزام 4e254b48ad93cc092be3dd62d97015f33f73133a
تنزيل الأداة