Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
Strumenti/GitHubGitHub/kkaanozturk/hyperos-directory-traversal-analysis
Analisi StaticaAnalisi Dinamica (Sandboxing)Memory ForensicsAnalisi delle VulnerabilitàExploitFuzzingCTFSicurezza MobileApprendimento e Formazione
Binary Exploitation
Lab e Pratica
GitHubkkaanozturk/hyperos-directory-traversal-analysis

HyperOS-Directory-Traversal-Analysis

Analisi approfondita della vulnerabilità Use-After-Free (CVE-2025-21082) nel Media Framework AVCodec di Xiaomi HyperOS, simulazione in Rust e pannello web interattivo.

Vedi RepositorySito web
1482 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
Università di İstinye

🔬 CVE-2025-21082: HyperOS AVCodec Use-After-Free

Lisans: MIT Python Rust CVE CVSS Rust CI Security Scan

Analisi completa della vulnerabilità Use-After-Free nel Media Framework AVCodec di Xiaomi HyperOS e simulazione in Rust

Progetto Finale Universitario — Progetto di Ricerca sulla Sicurezza Informatica


🌐 Prova la Simulazione Live nel Browser



📖 Informazioni sul Progetto

Questo repository contiene l'analisi tecnica approfondita di CVE-2025-21082, una critica vulnerabilità Use-After-Free (UAF) individuata nel framework di elaborazione multimediale HyperOS AVCodec di Xiaomi, la simulazione del meccanismo d'attacco e le soluzioni consigliate.

La causa principale della vulnerabilità è il rilascio del contesto del codec nel meccanismo di callback asincrono di AVCodec mentre i thread di lavoro (worker thread) sono ancora in esecuzione. Ciò porta a una classica race condition Use-After-Free e offre teoricamente la possibilità di Esecuzione di Codice Remota (RCE).

Il progetto include una simulazione UAF sicura scritta in Rust, una documentazione tecnica completa, l'automazione della pipeline CI tramite GitHub Actions e una visualizzazione interattiva basata su browser.


📂 Struttura del Repository

root@kitploit:~
HyperOS-Directory-Traversal-Analysis/
│
├── 📁 .github/                     # GitHub topluluk ve CI/CD iş akışları
│   ├── 📁 ISSUE_TEMPLATE/          # Hata ve özellik talep şablonları
│   │   ├── 📄 config.yml           # Issue şablon yapılandırması ve bağlantılar
│   │   ├── 📄 hata-raporu.yml      # Hata raporu formu (YAML Forms)
│   │   └── 📄 ozellik-istegi.yml   # Özellik isteği formu (YAML Forms)
│   ├── 📁 workflows/
│   │   ├── 📄 rust.yml             # Rust CI — Derleme, test ve lint pipeline
│   │   ├── 📄 pages.yml            # GitHub Pages otomatik yayınlama
│   │   ├── 📄 security.yml         # Güvenlik taraması (cargo-audit, CodeQL)
│   │   └── 📄 docs.yml             # Dokümantasyon lint ve bağlantı kontrolü
│   ├── 📄 dependabot.yml           # Otomatik bağımlılık güncelleme
│   ├── 📄 FUNDING.yml              # GitHub Sponsors yapılandırması
│   ├── 📄 mlc_config.json          # Markdown link checker ayarları
│   ├── 📄 PULL_REQUEST_TEMPLATE.md
│   └── 📄 SECURITY.md              # Güvenlik politikası
│
├── 📁 assets/                      # Logo ve görsel dosyalar
│   └── 🖼️ isu-logo.png             # İstinye Üniversitesi logosu
│
│
├── 📁 docs/                        # Teknik dokümantasyon
│   ├── 📄 zafiyet-analizi.md       # Zafiyet analizi ve CVSS skorlaması
│   ├── 📄 mimari-analiz.md         # HyperOS AVCodec mimari şeması
│   ├── 📄 cozum-onerileri.md       # Çözüm önerileri ve C++ yamaları
│   └── 📄 README.md                # Dokümantasyon rehber indeksi
│
├── 📁 research_results/            # Ödev araştırma sonuçları
│   ├── 📄 Cevaplarım.md            # 10 ileri düzey sorunun cevapları
│   ├── 📄 SORULAR.md               # Ödev soruları
│   ├── 📄 yorum.md                 # Kişisel analiz ve yorum
│   ├── 📄 simple.md                # Basit açıklamalar (50 adım)
│   ├── 🌐 infographic.html         # Görsel zafiyet rehberi
│   └── 📄 README.md                # Araştırma sonuçları indeksi
│
├── 📁 poc_python/                  # Python analiz araçları (Referans)
│   ├── 📄 exploit.py               # CVE-2025-2844 Directory Traversal PoC
│   └── 📄 requirements.txt
│
├── 📁 poc_rust/                    # Rust UAF simülasyonu (Ana PoC)
│   ├── 📁 src/
│   │   └── 📄 main.rs              # Unsafe Rust ile UAF simülasyon mantığı
│   └── 📄 Cargo.toml
│
├── 🌐 simulation.html              # İnteraktif web simülasyon paneli (5 sahne)
├── 📄 README.md                    # Bu dosya
├── 📄 CODE_OF_CONDUCT.md           # Topluluk davranış kuralları
├── 📄 CONTRIBUTING.md              # Katkıda bulunma rehberi
├── � TODO.md                      # Görev takip listesi
└── ⚖️  LICENSE                      # MIT Lisansı

🧠 Riepilogo della Vulnerabilità

CaratteristicaDettaglio
Numero CVECVE-2025-21082
Tipo di VulnerabilitàUse-After-Free (CWE-416)
Componente InteressatoXiaomi HyperOS AVCodec Framework
Punteggio CVSS v3.18.1 (Alto)
Vettore d'AttaccoRete (Network)
ImpattoPotenziale Esecuzione di Codice Remota (RCE)
Data di Scoperta10 febbraio 2025
Data della Patch20 febbraio 2025

L'Essenza della Vulnerabilità

root@kitploit:~
[Ana Thread]    processFrameAsync() → Worker thread başlatılır
                      ↓
                release() çağrılır → Bellek SERBEST BIRAKILIR ⚠️
                      ↓
[Worker Thread] Serbest bırakılan belleğe erişmeye devam eder → UAF 💥

🎬 Demo

Di seguito puoi guardare la registrazione dello schermo che mostra la compilazione del progetto, l'esecuzione e l'output della simulazione Use-After-Free:


🚀 Avvio Rapido

Requisiti

  • Rust 1.70 o successivo → rustup.rs
  • Python 3.8 o successivo
  • Un browser web moderno (Chrome, Firefox, Edge)

1. PoC in Rust — Simulazione UAF

root@kitploit:~
# Projeyi klonlayın
git clone https://github.com/kkaanozturk/HyperOS-Directory-Traversal-Analysis.git
cd HyperOS-Directory-Traversal-Analysis/poc_rust

# Release modunda derleyin
cargo build --release

🔴 Scenario Vulnerabile (Dimostrazione di Race Condition & UAF)

root@kitploit:~
# Windows
.\target\release\cve_2025_21082_uaf_poc.exe --mode vulnerable --verbose

# Linux / macOS
./target/release/cve_2025_21082_uaf_poc --mode vulnerable --verbose

Output Previsto:

root@kitploit:~
🔬 CVE-2025-21082: HyperOS AVCodec UAF PoC
Mode: vulnerable

⚠️  Running vulnerable scenario...
CodecContext allocated in Arc<Mutex<T>>
🧵 Starting worker thread...
🗑️  Main thread releasing codec context (UAF trigger)...
Memory corrupted to simulate UAF
🔄 Worker thread accessing codec context...
🚨 UAF detected! Magic number corrupted: 0xFEEDFACE
💥 UAF vulnerability triggered on frame 0!

🚨 Vulnerable scenario completed - UAF demonstrated!
⚠️  In a real exploit, this could lead to RCE

🟢 Scenario Corretto (Sincronizzazione Sicura)

root@kitploit:~
# Windows
.\target\release\cve_2025_21082_uaf_poc.exe --mode patched --verbose

# Linux / macOS
./target/release/cve_2025_21082_uaf_poc --mode patched --verbose

Output Previsto:

root@kitploit:~
🔬 CVE-2025-21082: HyperOS AVCodec UAF PoC
Mode: patched

✅ Running patched scenario...
CodecContext allocated safely in Arc<Mutex<T>>
🧵 Starting worker thread...
⏳ Waiting for worker thread to complete (patch applied)...
🔄 Worker thread processing frames safely...
✅ Frame 0 processed successfully
✅ Frame 1 processed successfully
✅ Frame 2 processed successfully
✅ Frame 3 processed successfully
✅ Frame 4 processed successfully
✅ Worker thread completed safely
🗑️  Safely releasing codec context...

✅ Patched scenario completed - No UAF occurred!
🛡️  Proper synchronization prevents the vulnerability

2. Simulazione Web Interattiva

Se non vuoi occuparti di configurare un server locale, puoi provare la simulazione direttamente nel tuo browser cliccando sul link Anteprima Live su GitHub Pages.

Se invece vuoi eseguirla localmente:

root@kitploit:~
# Proje kök dizininde
py -m http.server 8000

# Tarayıcınızda açın: http://localhost:8000/simulation.html

La simulazione include 5 scene:

  1. 🧪 Ambiente di Laboratorio — Introduzione alla pipeline AVCodec
  2. 🏗️ Creazione del Context — Layout della memoria heap
  3. ⚡ Race Condition — Timeline e finestra di vulnerabilità
  4. 💥 Sfruttamento UAF — Heap reclamation e dangling pointer
  5. 🛡️ Confronto delle Patch — Codice vulnerabile vs. codice corretto

3. Strumenti di Analisi Python (Vecchio PoC — Solo Riferimento)

Nota: Questa cartella è stata conservata come riferimento di storia tecnica e ricerca ibrida dalla versione originale del progetto CVE-2025-2844 (Directory Traversal). Per l'analisi del lavoro principale attuale, CVE-2025-21082 (UAF), utilizza il PoC in Rust di cui sopra.

root@kitploit:~
cd poc_python
py -m pip install -r requirements.txt
py exploit.py -u http://hedef:5000 -f etc/shadow

📚 Documentazione Tecnica

DocumentoContenuto
📊 Analisi della VulnerabilitàAnalisi tecnica di CVE-2025-21082, punteggio CVSS, scenari d'attacco, confronto HyperOS vs AOSP
🏗️ Schema ArchitetturalePipeline async AVCodec, diagrammi dei componenti, diagramma di flusso della race condition
🛡️ Soluzioni ConsigliateEsempi di codice C++ vulnerabile/corretto, pattern RAII, integrazione MTE, CFI, ASan
📋 Risultati della RicercaDomande dell'assegnazione, risposte a 10 domande avanzate, analisi personale e guida visiva

🔬 Dettagli Tecnici

Pattern di Codice Vulnerabile (C++)

root@kitploit:~
class AVCodecContext {
    void processFrameAsync() {
        worker_thread_ = std::thread([this]() {
            buffer_->processFrame(); // Worker thread çalışıyor
        });
        // ❌ join() yok — race condition!
    }

    void release() {
        delete buffer_; // ❌ Worker hâlâ çalışırken bellek serbest bırakılıyor
        buffer_ = nullptr;
    }
};

Pattern di Codice Corretto (C++)

root@kitploit:~
class AVCodecContext {
    void release() {
        shutdown_requested_ = true;
        worker_cv_.notify_all();

        if (worker_thread_.joinable()) {
            worker_thread_.join(); // ✅ Thread tamamlanana kadar bekle
        }

        delete buffer_; // ✅ Güvenli temizlik
    }
};

Simulazione in Rust — Rilevamento UAF

root@kitploit:~
unsafe fn process_frame(&mut self) -> bool {
    // Magic number bozulduysa UAF gerçekleşmiş demektir
    if self.magic != 0xDEADBEEF {
        println!("🚨 UAF tespit edildi! Magic: 0x{:08X}", self.magic);
        return false;
    }
    self.frame_counter += 1;
    true
}

🛡️ Strategie di Difesa

MetodoDescrizioneEfficacia
Sincronizzazione dei ThreadAttendere il completamento del thread con join()⭐⭐⭐⭐⭐
Conteggio dei RiferimentiGestione automatica del ciclo di vita con shared_ptr⭐⭐⭐⭐⭐
Pattern RAIIPulizia automatica delle risorse tramite il distruttore⭐⭐⭐⭐
AddressSanitizerRilevamento UAF in fase di compilazione⭐⭐⭐⭐
MTE (ARM64)Etichettatura della memoria a livello hardware⭐⭐⭐⭐⭐
CFIProtezione dell'integrità del flusso di controllo⭐⭐⭐

⚠️ Avviso Legale

Questo progetto è stato sviluppato esclusivamente per scopi educativi e di ricerca accademica.

La simulazione in Rust è progettata per dimostrare il meccanismo della vulnerabilità e non è un exploit reale. L'utilizzo delle informazioni e degli strumenti qui contenuti su sistemi non autorizzati può comportare responsabilità legali. Lo sviluppatore non si assume alcuna responsabilità.


📄 Licenza

Questo progetto è concesso in licenza con la Licenza MIT. Per i dettagli, consulta il file LICENSE.


Preparato a scopo educativo


👤 Scheda del Progetto dello Sviluppatore

👤 Nome e CognomeMevlit Kaan Öztürk
🔢 Numero di Matricola2520191003
🏛️ DipartimentoTecnologia della Sicurezza Informatica
🎓 IstituzioneUniversità di İstinye
📚 Corso / AmbitoBGT006 — Progetto Finale di Penetration Test
Scarica lo strumento