Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
HyperOS-Directory-Traversal-Analysis — Análise aprofundada da vulnerabilidade Use-After-Free (CVE-2025-21082) no framework AVCodec Media do Xiaomi HyperOS, simulação em Rust e painel web interativo. | Kitploit
Ferramentas/GitHubGitHub/kkaanozturk/hyperos-directory-traversal-analysis
Análise EstáticaAnálise Dinâmica (Sandboxing)Forensia de MemóriaAnálise de VulnerabilidadesExploraçãoFuzzingCTFSegurança MóvelAprendizado e Educação
Exploração de Binários
Labs e Prática
GitHubkkaanozturk/hyperos-directory-traversal-analysis

HyperOS-Directory-Traversal-Analysis

Análise aprofundada da vulnerabilidade Use-After-Free (CVE-2025-21082) no framework AVCodec Media do Xiaomi HyperOS, simulação em Rust e painel web interativo.

Ver RepositórioSite
148há 2 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
İstinye Üniversitesi

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

Lisans: MIT Python Rust CVE CVSS Rust CI Security Scan

Análise abrangente da vulnerabilidade Use-After-Free no framework de mídia AVCodec do Xiaomi HyperOS e sua simulação em Rust

Trabalho Final de Universidade — Projeto de Pesquisa em Segurança Cibernética


🌐 Experimente a Simulação ao Vivo no Navegador



📖 Sobre o Projeto

Este repositório contém uma análise técnica aprofundada da CVE-2025-21082, uma vulnerabilidade crítica do tipo Use-After-Free (UAF) identificada no framework de processamento de mídia HyperOS AVCodec da Xiaomi, incluindo simulação do mecanismo de ataque e recomendações de correção.

A causa fundamental da vulnerabilidade é a liberação do contexto do codec no mecanismo de callback assíncrono do AVCodec enquanto as threads de trabalho ainda estão em execução. Isso gera uma clássica race condition do tipo Use-After-Free, oferecendo potencial teórico para execução remota de código (RCE).

O projeto inclui uma simulação segura de UAF escrita em Rust, documentação técnica abrangente, automação do pipeline de CI com GitHub Actions e uma visualização interativa baseada em navegador.


📂 Estrutura do Repositório

root@kitploit:~
HyperOS-Directory-Traversal-Analysis/
│
├── 📁 .github/                     # Fluxos de trabalho da comunidade e CI/CD do GitHub
│   ├── 📁 ISSUE_TEMPLATE/          # Modelos de problemas e solicitações de funcionalidades
│   │   ├── 📄 config.yml           # Configuração e links dos modelos de issues
│   │   ├── 📄 hata-raporu.yml      # Formulário de relatório de erro (YAML Forms)
│   │   └── 📄 ozellik-istegi.yml   # Formulário de solicitação de funcionalidade (YAML Forms)
│   ├── 📁 workflows/
│   │   ├── 📄 rust.yml             # CI Rust — Pipeline de compilação, teste e lint
│   │   ├── 📄 pages.yml            # Publicação automática no GitHub Pages
│   │   ├── 📄 security.yml         # Varredura de segurança (cargo-audit, CodeQL)
│   │   └── 📄 docs.yml             # Lint de documentação e verificação de links
│   ├── 📄 dependabot.yml           # Atualização automática de dependências
│   ├── 📄 FUNDING.yml              # Configuração do GitHub Sponsors
│   ├── 📄 mlc_config.json          # Configurações do verificador de links Markdown
│   ├── 📄 PULL_REQUEST_TEMPLATE.md
│   └── 📄 SECURITY.md              # Política de segurança
│
├── 📁 assets/                      # Logotipos e arquivos de imagem
│   └── 🖼️ isu-logo.png             # Logotipo da Universidade Istinye
│
│
├── 📁 docs/                        # Documentação técnica
│   ├── 📄 zafiyet-analizi.md       # Análise de vulnerabilidade e pontuação CVSS
│   ├── 📄 mimari-analiz.md         # Diagrama da arquitetura HyperOS AVCodec
│   ├── 📄 cozum-onerileri.md       # Recomendações de correção e patches C++
│   └── 📄 README.md                # Índice do guia de documentação
│
├── 📁 research_results/            # Resultados da pesquisa do trabalho
│   ├── 📄 Cevaplarım.md            # Respostas para 10 perguntas avançadas
│   ├── 📄 SORULAR.md               # Perguntas do trabalho
│   ├── 📄 yorum.md                 # Análise e comentários pessoais
│   ├── 📄 simple.md                # Explicações simples (50 etapas)
│   ├── 🌐 infographic.html         # Guia visual de vulnerabilidade
│   └── 📄 README.md                # Índice de resultados da pesquisa
│
├── 📁 poc_python/                  # Ferramentas de análise Python (Referência)
│   ├── 📄 exploit.py               # PoC CVE-2025-2844 Directory Traversal
│   └── 📄 requirements.txt
│
├── 📁 poc_rust/                    # Simulação UAF em Rust (PoC principal)
│   ├── 📁 src/
│   │   └── 📄 main.rs              # Lógica de simulação UAF com Rust inseguro
│   └── 📄 Cargo.toml
│
├── 🌐 simulation.html              # Painel de simulação web interativo (5 cenas)
├── 📄 README.md                    # Este arquivo
├── 📄 CODE_OF_CONDUCT.md           # Código de conduta da comunidade
├── 📄 CONTRIBUTING.md              # Guia de contribuição
├── 📄 TODO.md                      # Lista de tarefas
└── ⚖️  LICENSE                      # Licença MIT

🧠 Resumo da Vulnerabilidade

CaracterísticaDetalhe
Número CVECVE-2025-21082
Tipo de VulnerabilidadeUse-After-Free (CWE-416)
Componente AfetadoFramework Xiaomi HyperOS AVCodec
Pontuação CVSS v3.18.1 (Alta)
Vetor de AtaqueRede
ImpactoPotencial de Execução Remota de Código (RCE)
Data da Descoberta10 de Fevereiro de 2025
Data do Patch20 de Fevereiro de 2025

Essência da Vulnerabilidade

root@kitploit:~
[Thread Principal]    processFrameAsync() → Thread de trabalho é iniciada
                      ↓
                release() é chamado → Memória LIBERADA ⚠️
                      ↓
[Thread de Trabalho] Continua a acessar a memória liberada → UAF 💥

🎬 Demonstração

Assista abaixo à gravação de tela que mostra a compilação, execução e saída da simulação Use-After-Free:


🚀 Início Rápido

Requisitos

  • Rust 1.70 ou superior → rustup.rs
  • Python 3.8 ou superior
  • Navegador web moderno (Chrome, Firefox, Edge)

1. PoC Rust — Simulação UAF

root@kitploit:~
# Clone o projeto
git clone https://github.com/kkaanozturk/HyperOS-Directory-Traversal-Analysis.git
cd HyperOS-Directory-Traversal-Analysis/poc_rust

# Compile em modo release
cargo build --release

🔴 Cenário Vulnerável (Demonstração de Race Condition e 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

Saída Esperada:

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

🟢 Cenário Corrigido (Sincronização Segura)

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

Saída Esperada:

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. Simulação Web Interativa

Se não quiser configurar um servidor local, clique diretamente no link GitHub Pages Live Preview para experimentar a simulação no navegador.

Se preferir executar localmente:

root@kitploit:~
# No diretório raiz do projeto
py -m http.server 8000

# Abra no navegador: http://localhost:8000/simulation.html

A simulação contém 5 cenas:

  1. 🧪 Laboratório — Introdução ao pipeline AVCodec
  2. 🏗️ Criação de Contexto — Layout da memória heap
  3. ⚡ Race Condition — Linha do tempo e janela de vulnerabilidade
  4. 💥 Exploração do UAF — Reapropriação de heap e ponteiro pendente
  5. 🛡️ Comparação de Patch — Código vulnerável vs. corrigido

3. Ferramentas de Análise Python (PoC Antigo — Apenas para Referência)

Nota: Esta pasta foi mantida como referência histórica técnica e de pesquisa híbrida da versão original do CVE-2025-2844 (Directory Traversal) do projeto. Para a análise principal atual, CVE-2025-21082 (UAF), utilize o PoC Rust acima.

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

📚 Documentação Técnica

DocumentoConteúdo
📊 Análise da VulnerabilidadeAnálise técnica CVE-2025-21082, pontuação CVSS, cenários de ataque, comparação HyperOS vs AOSP
🏗️ Diagrama ArquiteturalPipeline assíncrono AVCodec, diagramas de componentes, fluxograma de race condition
🛡️ Recomendações de CorreçãoExemplos de código C++ vulnerável/corrigido, padrão RAII, MTE, CFI, integração com ASan
📋 Resultados da PesquisaPerguntas do trabalho, respostas para 10 questões avançadas, análise pessoal e guia visual

🔬 Detalhes Técnicos

Padrão de Código Vulnerável (C++)

root@kitploit:~
class AVCodecContext {
    void processFrameAsync() {
        worker_thread_ = std::thread([this]() {
            buffer_->processFrame(); // Thread de trabalho em execução
        });
        // ❌ Sem join() — race condition!
    }

    void release() {
        delete buffer_; // ❌ Memória liberada enquanto a thread ainda está rodando
        buffer_ = nullptr;
    }
};

Padrão de Código Corrigido (C++)

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

        if (worker_thread_.joinable()) {
            worker_thread_.join(); // ✅ Aguarda a thread terminar
        }

        delete buffer_; // ✅ Limpeza segura
    }
};

Simulação em Rust — Detecção UAF

root@kitploit:~
unsafe fn process_frame(&mut self) -> bool {
    // Se o magic number foi corrompido, UAF ocorreu
    if self.magic != 0xDEADBEEF {
        println!("🚨 UAF detectado! Magic: 0x{:08X}", self.magic);
        return false;
    }
    self.frame_counter += 1;
    true
}

🛡️ Estratégias de Defesa

MétodoDescriçãoEficácia
Sincronização de ThreadsAguardar com join() até a thread terminar⭐⭐⭐⭐⭐
Contagem de ReferênciasGerenciamento automático de vida útil com shared_ptr⭐⭐⭐⭐⭐
Padrão RAIILimpeza automática de recursos no destrutor⭐⭐⭐⭐
AddressSanitizerDetecção de UAF em tempo de compilação⭐⭐⭐⭐
MTE (ARM64)Marcação de memória em nível de hardware⭐⭐⭐⭐⭐
CFIProteção da integridade do fluxo de controle⭐⭐⭐

⚠️ Aviso Legal

Este projeto foi desenvolvido exclusivamente para fins educacionais e de pesquisa acadêmica.

A simulação em Rust foi projetada para demonstrar o mecanismo da vulnerabilidade e não é um exploit real. O uso das informações e ferramentas aqui contidas em sistemas não autorizados pode acarretar responsabilidade legal. O desenvolvedor não assume nenhuma responsabilidade.


📄 Licença

Este projeto é licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter detalhes.


Preparado para fins educacionais


👤 Ficha do Desenvolvedor do Projeto

👤 Nome CompletoMevlit Kaan Öztürk
🔢 Número de Matrícula2520191003
🏛️ CursoTecnologia em Segurança da Informação
🎓 InstituiçãoUniversidade Istinye
📚 Disciplina / EscopoBGT006 — Trabalho Final de Teste de Intrusão
Baixar ferramenta