Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
HyperOS-Directory-Traversal-Analysis — Углубленный анализ уязвимости Use-After-Free (CVE-2025-21082) в Xiaomi HyperOS AVCodec Medya Framework, симуляция на Rust и интерактивная веб-панель. | Kitploit
Инструменты/GitHubGitHub/kkaanozturk/hyperos-directory-traversal-analysis
Статический анализДинамический анализ (песочница)Криминалистика памятиАнализ уязвимостейЭксплуатацияФаззингCTFМобильная безопасностьОбучение и Образование
Эксплуатация Бинарных Файлов
Лаборатории и Практика
GitHubkkaanozturk/hyperos-directory-traversal-analysis

HyperOS-Directory-Traversal-Analysis

Углубленный анализ уязвимости Use-After-Free (CVE-2025-21082) в Xiaomi HyperOS AVCodec Medya Framework, симуляция на Rust и интерактивная веб-панель.

РепозиторийСайт
1482 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Университет Истинье

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

Ліцензія: MIT Python Rust CVE CVSS Rust CI Security Scan

Всесторонний анализ уязвимости Use-After-Free в медиа-фреймворке Xiaomi HyperOS AVCodec и симуляция на Rust

Университетская выпускная работа — Проект по исследованию кибербезопасности


🌐 Попробуйте онлайн-симуляцию в браузере



📖 О проекте

Этот репозиторий содержит углубленный технический анализ критической уязвимости Use-After-Free (UAF) CVE-2025-21082, обнаруженной в медиа-фреймворке Xiaomi HyperOS AVCodec, симуляцию механизма атаки и рекомендации по устранению.

Основная причина уязвимости — освобождение контекста codec в асинхронном механизме обратного вызова AVCodec в то время, когда рабочие потоки (worker threads) еще активны. Это приводит к классическому состоянию гонки Use-After-Free, теоретически позволяющему выполнить удаленный код (RCE).

Проект включает: безопасную симуляцию UAF на Rust, обширную техническую документацию, автоматизацию CI/CD с помощью GitHub Actions и интерактивную браузерную визуализацию.


📂 Структура репозитория

root@kitploit:~
HyperOS-Directory-Traversal-Analysis/
│
├── 📁 .github/                     # Сообщество GitHub и CI/CD workflows
│   ├── 📁 ISSUE_TEMPLATE/          # Шаблоны для ошибок и запросов функций
│   │   ├── 📄 config.yml           # Конфигурация шаблонов issue и ссылки
│   │   ├── 📄 hata-raporu.yml      # Форма отчета об ошибке (YAML Forms)
│   │   └── 📄 ozellik-istegi.yml   # Форма запроса функции (YAML Forms)
│   ├── 📁 workflows/
│   │   ├── 📄 rust.yml             # Rust CI — сборка, тестирование и линтинг
│   │   ├── 📄 pages.yml            # Автоматическая публикация GitHub Pages
│   │   ├── 📄 security.yml         # Сканирование безопасности (cargo-audit, CodeQL)
│   │   └── 📄 docs.yml             # Линтинг документации и проверка ссылок
│   ├── 📄 dependabot.yml           # Автоматическое обновление зависимостей
│   ├── 📄 FUNDING.yml              # Конфигурация GitHub Sponsors
│   ├── 📄 mlc_config.json          # Настройки проверки ссылок Markdown
│   ├── 📄 PULL_REQUEST_TEMPLATE.md
│   └── 📄 SECURITY.md              # Политика безопасности
│
├── 📁 assets/                      # Логотипы и изображения
│   └── 🖼️ isu-logo.png             # Логотип Университета Истинье
│
├── 📁 docs/                        # Техническая документация
│   ├── 📄 zafiyet-analizi.md       # Анализ уязвимости и оценка CVSS
│   ├── 📄 mimari-analiz.md         # Архитектурная схема HyperOS AVCodec
│   ├── 📄 cozum-onerileri.md       # Рекомендации по устранению и патчи на C++
│   └── 📄 README.md                # Индекс руководства по документации
│
├── 📁 research_results/            # Результаты исследования для задания
│   ├── 📄 Cevaplarım.md            # Ответы на 10 вопросов продвинутого уровня
│   ├── 📄 SORULAR.md               # Вопросы задания
│   ├── 📄 yorum.md                 # Личный анализ и комментарии
│   ├── 📄 simple.md                # Простые объяснения (50 шагов)
│   ├── 🌐 infographic.html         # Визуальное руководство по уязвимости
│   └── 📄 README.md                # Индекс результатов исследования
│
├── 📁 poc_python/                  # Инструменты анализа на Python (справочно)
│   ├── 📄 exploit.py               # PoC для CVE-2025-2844 Directory Traversal
│   └── 📄 requirements.txt
│
├── 📁 poc_rust/                    # Симуляция UAF на Rust (основной PoC)
│   ├── 📁 src/
│   │   └── 📄 main.rs              # Логика симуляции UAF с unsafe Rust
│   └── 📄 Cargo.toml
│
├── 🌐 simulation.html              # Интерактивная панель симуляции (5 сцен)
├── 📄 README.md                    # Этот файл
├── 📄 CODE_OF_CONDUCT.md           # Кодекс поведения сообщества
├── 📄 CONTRIBUTING.md              # Руководство по участию
├── 📄 TODO.md                      # Список задач
└── ⚖️  LICENSE                      # Лицензия MIT


🧠 Сводка по уязвимости

СвойствоДетали
Номер CVECVE-2025-21082
Тип уязвимостиUse-After-Free (CWE-416)
Затронутый компонентФреймворк Xiaomi HyperOS AVCodec
Оценка CVSS v3.18.1 (High)
Вектор атакиСеть (Network)
ВоздействиеПотенциальное удаленное выполнение кода (RCE)
Дата обнаружения10 февраля 2025
Дата исправления20 февраля 2025

Суть уязвимости

root@kitploit:~
[Главный поток]    processFrameAsync() → Запуск рабочего потока
                      ↓
                Вызов release() → ПАМЯТЬ ОСВОБОЖДЕНА ⚠️
                      ↓
[Рабочий поток] Продолжает обращение к освобожденной памяти → UAF 💥

🎬 Демонстрация

Видеозапись, показывающая сборку, запуск и вывод симуляции Use-After-Free:


🚀 Быстрый старт

Требования

  • Rust 1.70 или новее → rustup.rs
  • Python 3.8 или новее
  • Современный веб-браузер (Chrome, Firefox, Edge)

1. PoC на Rust — Симуляция UAF

root@kitploit:~
# Клонируйте проект
git clone https://github.com/kkaanozturk/HyperOS-Directory-Traversal-Analysis.git
cd HyperOS-Directory-Traversal-Analysis/poc_rust

# Соберите в release-режиме
cargo build --release

🔴 Сценарий с уязвимостью (Демонстрация состояния гонки и 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

Ожидаемый вывод:

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

🟢 Исправленный сценарий (Безопасная синхронизация)

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

Ожидаемый вывод:

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. Интерактивная веб-симуляция

Если вы не хотите настраивать локальный сервер, нажмите напрямую на ссылку GitHub Pages Live Preview, чтобы попробовать симуляцию в браузере.

Для локального запуска:

root@kitploit:~
# В корневой директории проекта
py -m http.server 8000

# Откройте в браузере: http://localhost:8000/simulation.html

Симуляция состоит из 5 сцен:

  1. 🧪 Лабораторная среда — знакомство с конвейером AVCodec
  2. 🏗️ Создание контекста — организация кучи
  3. ⚡ Состояние гонки — временная шкала и окно уязвимости
  4. 💥 Эксплуатация UAF — повторное использование кучи и висячий указатель
  5. 🛡️ Сравнение патчей — уязвимый vs исправленный код

3. Инструменты анализа на Python (Устаревший PoC — только для справки)

Примечание: Эта папка сохранена как техническая история и гибридная исследовательская ссылка от оригинальной версии проекта CVE-2025-2844 (Directory Traversal). Для текущего основного исследования CVE-2025-21082 (UAF) используйте PoC на Rust выше.

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

📚 Техническая документация

ДокументСодержание
📊 Анализ уязвимостиТехнический анализ CVE-2025-21082, оценка CVSS, сценарии атаки, сравнение HyperOS vs AOSP
🏗️ Архитектурная схемаАсинхронный конвейер AVCodec, диаграммы компонентов, блок-схема состояния гонки
🛡️ Рекомендации по устранениюПримеры уязвимого/исправленного кода на C++, паттерн RAII, интеграция MTE, CFI, ASan
📋 Результаты исследованияВопросы задания, ответы на 10 вопросов продвинутого уровня, личный анализ и визуальное руководство

🔬 Технические детали

Уязвимый код (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;
    }
};

Исправленный код (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
    }
};

Симуляция на Rust — Обнаружение 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
}

🛡️ Стратегии защиты

МетодОписаниеЭффективность
Синхронизация потоковОжидание завершения потока с помощью join()⭐⭐⭐⭐⭐
Подсчет ссылокАвтоматическое управление временем жизни через shared_ptr⭐⭐⭐⭐⭐
Паттерн RAIIАвтоматическая очистка ресурсов в деструкторе⭐⭐⭐⭐
AddressSanitizerОбнаружение UAF на этапе компиляции⭐⭐⭐⭐
MTE (ARM64)Аппаратное маркирование памяти⭐⭐⭐⭐⭐
CFIЗащита целостности потока управления⭐⭐⭐

⚠️ Юридическое предупреждение

Этот проект разработан исключительно для образовательных и академических исследовательских целей.

Симуляция на Rust предназначена для демонстрации механизма уязвимости и не является реальным эксплойтом. Использование информации и инструментов из этого репозитория на неавторизованных системах может повлечь юридическую ответственность. Разработчик не несет никакой ответственности.


📄 Лицензия

Этот проект лицензирован под лицензией MIT. Подробности см. в файле LICENSE.


Подготовлено в образовательных целях


👤 Реквизиты разработчика

👤 Имя ФамилияMevlit Kaan Öztürk
🔢 Номер студента2520191003
🏛️ ОтделениеТехнология информационной безопасности
🎓 УчреждениеУниверситет Истинье
📚 Курс / ОбластьBGT006 — Выпускная работа по пентесту
Скачать инструмент