OPPO Find X6 Pro GhostLock Projet d'Adaptation
Aperçu
Ce projet cible la vulnérabilité CVE-2026-43499 (GhostLock) en effectuant une recherche d'adaptation sur l'OPPO Find X6 Pro (PGEM10).
Basé sur l'architecture d'exploit originale de NebuSec CyberMeowfia, avec référence à l'approche d'adaptation de oppo-ghostlock.
| Élément | Valeur |
|---|
| Appareil | OPPO Find X6 Pro (PGEM10) |
| Puce | Snapdragon 8 Gen 2 (SM8550) |
| Noyau | Linux 5.15.149-android13 #1 SMP PREEMPT |
| Date de compilation | Thu Feb 13 2025 |
| Android | 15 (ColorOS 15.0) |
| Version ROM | PGEM10_15.0.0.600(CN01) |
| PAC | CONFIG_ARM64_PTR_AUTH_KERNEL=y |
| BTI | CONFIG_ARM64_BTI_KERNEL=y |
| KASLR | CONFIG_RANDOMIZE_BASE=y |
| VA_BITS | 39 |
| Décalage VA | P0_PAGE_OFFSET = 0xffffff8000000000 |
Résumé des résultats du projet
✅ Terminé
❌ Bloqué
Structure du projet
oppo-pgem10-ghostlock/
├── README.md # Ce fichier
├── 问题描述.md # Analyse détaillée du problème
├── docs/
│ ├── architecture.md # Conception de l'architecture et chaîne d'appel
│ └── adaptation-guide.md # Guide d'adaptation du noyau PAC
├── reports/
│ ├── offsets.md # Rapport de validation des offsets IDA
│ ├── kaslr.md # Rapport d'analyse KASLR
│ └── summary.md # Résumé final
├── src/
│ ├── kaslr_perf.h # Module réutilisable Perf KASLR
│ └── kaslr_perf.c # Implémentation Perf KASLR
└── analysis/
└── chains/ # Scripts d'analyse de chaîne d'appel
Différences de configuration clés (PGEM10 vs Pixel 10)
CONFIG_ARM64_PTR_AUTH_KERNEL=y # ← Différence clé : PAC entraîne directement l'expansion de la trame
CONFIG_ARM64_BTI_KERNEL=y # BTI augmente encore la surcharge
CONFIG_SHADOW_CALL_STACK=y # SCS augmente la trame de pile
CONFIG_VMAP_STACK=y # Pile remappable
CONFIG_KASAN_HW_TAGS=y # Activé à la compilation
CONFIG_ARM64_VA_BITS=39 # VA 39 bits (pas 48 bits)
Cause racine du blocage : Expansion de la trame de pile PAC
Fonction Pixel 10 (sans PAC) PGEM10 (avec PAC)
__arm64_sys_futex 0x90 0x4C0
do_futex 0x70 0x420
futex_wait_requeue_pi 0x1A0 0x1B0
─────────────────────────────────────────────────────────
Profondeur totale chaîne futex 0x300 0xA70 ← 3,5×
Profondeur pile pselect 0x620 0x620
Débordement possible ? ✅ OUI ❌ NON (0xA70 > 0x620)
Analyse de la chaîne d'appel confirme : 0 chaîne d'appel dans le noyau avec une profondeur ≥ 0x800 (2048B).
Trame individuelle maximale : 0x1F0 (496B).
Ressources de référence