Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HyperOS-Directory-Traversal-Analysis — Xiaomi HyperOS AVCodec 미디어 프레임워크의 Use-After-Free (CVE-2025-21082) 취약점 심층 분석, Rust 시뮬레이션 및 대화형 웹 패널. | Kitploit
도구/GitHubGitHub/kkaanozturk/hyperos-directory-traversal-analysis
Static AnalysisDynamic Analysis (Sandboxing)Memory ForensicsVulnerability AnalysisExploitationFuzzingCTFMobile SecurityLearning & Education
Binary Exploitation
Labs & Practice
GitHubkkaanozturk/hyperos-directory-traversal-analysis

HyperOS-Directory-Traversal-Analysis

Xiaomi HyperOS AVCodec 미디어 프레임워크의 Use-After-Free (CVE-2025-21082) 취약점 심층 분석, Rust 시뮬레이션 및 대화형 웹 패널.

저장소 보기웹사이트
1482개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
이스티녜 대학교

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

Lisans: MIT Python Rust CVE CVSS Rust CI Security Scan

Xiaomi HyperOS AVCodec 미디어 프레임워크의 Use-After-Free 취약점 종합 분석 및 Rust를 이용한 시뮬레이션

대학 기말 과제 — 사이버 보안 연구 프로젝트


🌐 브라우저에서 라이브 시뮬레이션 체험하기



📖 프로젝트 소개

이 저장소는 Xiaomi HyperOS AVCodec 미디어 처리 프레임워크에서 발견된 치명적인 Use-After-Free (UAF) 취약점인 CVE-2025-21082의 심층 기술 분석, 공격 메커니즘 시뮬레이션 및 해결 방안을 포함하고 있습니다.

취약점의 주요 원인은 AVCodec의 비동기 콜백 메커니즘에서 코드 컨텍스트가 작업자 스레드가 아직 실행 중인 동안 해제되기 때문입니다. 이로 인해 전형적인 Use-After-Free 경합 조건이 발생하며 이론적으로 원격 코드 실행 (RCE) 가능성을 제공합니다.

프로젝트는 Rust로 작성된 안전한 UAF 시뮬레이션, 포괄적인 기술 문서, GitHub Actions CI 파이프라인 자동화 및 브라우저 기반의 대화형 시각화를 포함합니다.


📂 저장소 구조

root@kitploit:~
HyperOS-Directory-Traversal-Analysis/
│
├── 📁 .github/                     # GitHub 커뮤니티 및 CI/CD 워크플로우
│   ├── 📁 ISSUE_TEMPLATE/          # 버그 및 기능 요청 템플릿
│   │   ├── 📄 config.yml           # 이슈 템플릿 구성 및 링크
│   │   ├── 📄 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               # CVE-2025-2844 디렉토리 트래버설 PoC
│   └── 📄 requirements.txt
│
├── 📁 poc_rust/                    # Rust UAF 시뮬레이션 (주 PoC)
│   ├── 📁 src/
│   │   └── 📄 main.rs              # Unsafe Rust를 이용한 UAF 시뮬레이션 로직
│   └── 📄 Cargo.toml
│
├── 🌐 simulation.html              # 대화형 웹 시뮬레이션 패널 (5개 장면)
├── 📄 README.md                    # 이 파일
├── 📄 CODE_OF_CONDUCT.md           # 커뮤니티 행동 강령
├── 📄 CONTRIBUTING.md              # 기여 가이드
├── 📄 TODO.md                      # 작업 추적 목록
└── ⚖️  LICENSE                      # MIT 라이선스


🧠 취약점 요약

속성세부사항
CVE 번호CVE-2025-21082
취약점 유형Use-After-Free (CWE-416)
영향을 받는 구성요소Xiaomi HyperOS AVCodec Framework
CVSS v3.1 점수8.1 (High)
공격 벡터네트워크 (Network)
영향원격 코드 실행 (RCE) 가능성
발견일2025년 2월 10일
패치일2025년 2월 20일

취약점의 핵심

root@kitploit:~
[주 스레드]    processFrameAsync() → 작업자 스레드 시작
                      ↓
                release() 호출 → 메모리 해제됨 ⚠️
                      ↓
[작업자 스레드] 해제된 메모리에 계속 접근 → UAF 💥

🎬 데모

프로젝트의 빌드, 실행 및 Use-After-Free 시뮬레이션 출력을 보여주는 화면 녹화입니다:


🚀 빠른 시작

요구 사항

  • Rust 1.70 이상 → rustup.rs
  • Python 3.8 이상
  • 최신 웹 브라우저 (Chrome, Firefox, Edge)

1. Rust PoC — 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 라이브 미리보기 링크를 클릭하여 브라우저에서 시뮬레이션을 바로 체험할 수 있습니다.

로컬에서 실행하려면:

root@kitploit:~
# 프로젝트 루트 디렉토리에서
py -m http.server 8000

# 브라우저에서 열기: http://localhost:8000/simulation.html

시뮬레이션은 5개 장면으로 구성됩니다:

  1. 🧪 Lab 환경 — AVCodec 파이프라인 소개
  2. 🏗️ 컨텍스트 생성 — 힙 메모리 배치
  3. ⚡ 경합 조건 — 타임라인 및 취약점 창
  4. 💥 UAF 악용 — 힙 재할당 및 댕글링 포인터
  5. 🛡️ 패치 비교 — 취약한 코드 vs 패치된 코드

3. Python 분석 도구 (이전 PoC — 참고용)

참고: 이 폴더는 프로젝트의 원래 CVE-2025-2844 (디렉토리 트래버설) 버전의 기술적 이력 및 하이브리드 연구 참고 자료로 유지됩니다. 현재 주요 작업인 CVE-2025-21082 (UAF) 분석에는 위의 Rust PoC를 사용하십시오.

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 — 침투 테스트 기말 과제
도구 다운로드