
بحث في ثغرات التحقق النظامية من PDF417 في أنظمة الهوية المتوافقة مع AAMVA (CVE-2025-31336, CVE-2025-31337, scr1841160)
يحتوي هذا المستودع على بحث أمني شامل يوثق ثغرات حرجة في أنظمة التحقق من صحة الباركود PDF417 بمعيار AAMVA التي تؤثر على المعرفات الحكومية وحلول المؤسسات والتطبيقات الاستهلاكية. يتضمن البحث دليلاً عملياً كاملاً على المفهوم (PoC) يوضح عيوباً منهجية في كيفية معالجة أنظمة التحقق من الهوية لباركود رخص القيادة.
هام: هذا الكود مُقدم لأغراض البحث الأمني فقط. راجع ملف LICENSE.md للاستخدام المسموح به.
تم إجراء هذا البحث وفقاً لما يلي:
يوضح هذا البحث ثغرات تم تعيينها:
الدرجة الأساسية: 10.0 (حرجة)
المتجه: AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
التفصيل:
مثال على الاستغلال:```rust // Temporal validation bypass demonstration let license = CaliforniaLicense::builder() .birth_date("06201500") // Year 1500 - Medieval era .validate(); // Returns OK in affected systems
## تاريخ التنسيق وملخص استجابة البائع
### الجدول الزمني للإفصاح
- **22 مارس 2025**: تقديم طلب CVE الأولي إلى MITRE
- **25 مارس 2025**: تقديم إثبات المفهوم والاعتراف به من IDScan.net
- **28 مارس 2025**: استلام الاعتراف بثغرة TokenWorks
- **3 أبريل 2025**: فتح قضية CISA VINCE VU#396042 رسميًا
- **9-16 أبريل 2025**: مناقشات تقنية مكثفة مع البائعين المتأثرين
- **18 يونيو 2025**: قرار إغلاق قضية CISA (تم رفضها كـ "خطر مفهوم")
- **1 يوليو 2025**: الإفصاح العام بعد فترة تنسيق ممتدة
### استجابات البائعين والخلافات الفنية
#### IDScan.net (Joshua Sheetz, CISO/VP Engineering)
**الرد الأولي**: *"بعد التحقيق في هذا الأمر، يبدو أنك تقوم فقط بتزوير بيانات الباركود. هذا معيار شائع."*
**الموقف التقني**:
- ادعى أن المحلل الخاص بهم "يقرأ البيانات فقط" وليس مسؤولاً عن التحقق من الصحة
- جادل بأن القيم المستحيلة (أفراد عمرهم 524 عامًا) مقبولة في "محلل"
- رفض نقاط الضعف الخاصة بالتطبيق كقيود لمعيار AAMVA
- ناقض ادعاءاتهم التسويقية حول "المئات من عمليات التحقق الأمنية الخوارزمية"
**الفجوة بين التسويق والواقع**:
- يعد موقع VeriScan الإلكتروني بـ "كشف الهويات المزيفة / التحقق من الهوية"
- يدعي أنه "يمسك بالهويات المزيفة" ويقوم بـ "فحوصات أمنية"
- كشف التحليل الفني عن الحد الأدنى من التحقق من الصحة بخلاف التوافق مع التنسيق
#### استجابة TokenWorks
- اعترف بالمشكلة على أنها "مشكلة تنفيذ من إدارة المركبات"
- قلل من مسؤولية البائع عن التحقق التشفيري
- لم يتم تقديم جدول زمني للمعالجة
#### قرار CISA (18 يونيو 2025)
**القرار النهائي**: *"قررت CISA أن هذا ليس ثغرة أمنية بل هو خطر مفهوم في معيار رخصة القيادة AAMVA."*
**التحليل الفني لموقف CISA**:
يبدو أن هذا القرار يخلط بين قيود المعيار والثغرات الخاصة بالتطبيق. وثق البحث مشكلات تقنية متميزة:
1. **تصنيف الثغرات متعدد الطبقات**:
- **الطبقة 1**: القصور التشفيري لمعيار AAMVA (مُعترف به)
- **الطبقة 2**: فشل التحقق الخاص بالتطبيق (مرفوض من قبل CISA)
- **الطبقة 3**: الادعاءات التسويقية مقابل القدرات الأمنية الفعلية (لم يتم معالجتها)
2. **المشكلات الخاصة بالتطبيق الموثقة**:
- **CWE-20 (التحقق غير الصحيح من المدخلات)**: قبول قيم مستحيلة فيزيولوجيًا
- **CWE-345 (التحقق غير الكافي من أصالة البيانات)**: لا توجد فحوصات تشفيرية
- **CWE-770 (تخصيص الموارد دون حدود)**: لا يوجد تحديد لمعدل الاستخدام
- **CWE-841 (الإنفاذ غير السليم لسير العمل السلوكي)**: لا يوجد اكتشاف للأنماط
## أدلة التحقق من صحة المفهوم
### تجاوز تطبيق Missouri ShowMeID الحكومي
 دليل تجاوز Missouri ShowMeID```shell
gpg --verify signatures/show_me_id/img.png.asc scan_proof/show_me_id/img.png
التأثير: تجاوز كامل لتطبيق التحقق من الهوية الرسمي لولاية ميسوري، مما يكشف عن ثغرات نظامية في أنظمة التحقق من الهوية على مستوى الولايات.
```shell
gpg --verify signatures/veriscan/california/andrew_before.png.asc scan_proof/veriscan/california/andrew_before.png
gpg --verify signatures/veriscan/california/andrew_after.png.asc scan_proof/veriscan/california/andrew_after.png
#### تجاوزات التحقق من رخصة أريزونا



```shell
gpg --verify signatures/veriscan/arizona/unanimous.png.asc scan_proof/veriscan/arizona/unanimous.png
gpg --verify signatures/veriscan/arizona/unanimous_1.png.asc scan_proof/veriscan/arizona/unanimous_1.png
```shell
gpg --verify signatures/veriscan/florida/wendy_synthesized.png.asc scan_proof/veriscan/florida/wendy_synthesized.png
#### تجاوز التحقق من رخصة جورجيا

```bash
# Verify Georgia bypass evidence
gpg --verify signatures/veriscan/georgia/hire_me_2.png.asc scan_proof/veriscan/georgia/hire_me_2.png