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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitHubGitHub/seregonwar/cve-2021-30809-oom
Vulnerability AnalysisExploitationWeb SecurityLearning & EducationBinary Exploitation
GitHubseregonwar/cve-2021-30809-oom

CVE-2021-30809-OOM

CVE-2021-30809 UAF(사용 후 해제) PoC

저장소 보기
41년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2021-30809 — Apple WebKit Use-After-Free 취약점(크래시 PoC)

https://github.com/user-attachments/assets/e81f8a01-d48d-44cc-a38f-ce59b01222d5

개요

이 저장소는 WebKit의 use-after-free(UAF) 취약점인 CVE-2021-30809를 위한 최소한의 크래시 유발 하네스입니다. 이 PoC는 조작된 웹 콘텐츠를 처리하여 취약한 코드 경로를 실행하며, 완전한 익스플로잇이 아닌 브라우저 크래시를 안정적으로 유발하는 것을 목표로 합니다. 연구, 디버깅 및 회귀 테스트 목적으로만 엄격히 사용됩니다.

  • 대상 엔진: WebKit(예: WebKitGTK / WPE WebKit, 기기에 내장된 레거시 포크)
  • 테스트 대상 장치 예시: PlayStation 4 브라우저(WebKit 605.1.15)
  • 목적: 노출 여부를 검증하고 수정 사항/완화 조치를 확인하기 위한 결정적 크래시 트리거

영향을 받는 구성 요소 및 버전

  • WebKitGTK 및 WPE WebKit 2.32.4 이전 버전은 취약한 것으로 보고되었습니다.
  • 벤더 권고에 따르면 Apple 플랫폼(Safari 15, iOS/iPadOS/tvOS/watchOS 15, ps4 6.00~12.52)에는 업스트림 수정 사항이 포함되어 있습니다.

최종 적용 범위는 항상 벤더/보안 권고를 참조하세요.

PoC 설계

  • HTML은 조작된 옵션과 공격적인 반복을 사용하여 WebKit의 국제화/날짜-시간 형식 지정 코드 경로에 부하를 주는 JavaScript 루틴(triggerCrash)을 호출합니다.
  • 이 시퀀스는 수명/GC 압력을 증폭시켜 엔진이 취약한 경우 UAF 크래시를 노출하도록 설계되었습니다.
  • 메모리 손상 프리미티브는 수집되지 않습니다. 이 PoC는 의도적으로 ROP/스프레이 또는 권한 상승 단계를 피합니다.

저장소 구조

  • exploit.html: UI를 PoC 루틴에 연결하는 진입점입니다.
  • poc.js: 크래시 조건을 트리거하는 JavaScript 하네스입니다.
  • server.py: 명시적 라우팅, CORS 및 간단한 로깅을 갖춘 경량 HTTP 서버입니다.
  • start_server.bat: Windows용 편의 실행기입니다.

요구 사항

  • Python 3.x
  • 데스크톱 OS 또는 서버와 동일한 LAN에 있는 테스트 대상 장치

서버 실행

  • Windows(권장 빠른 시작):

    1. start_server.bat를 더블클릭하거나 터미널에서 실행합니다.
    2. 스크립트가 적절한 RFC1918 LAN IP를 확인하고 액세스 URL(예: http://localhost:8080 및 http://<LAN_IP>:8080)을 출력합니다.
  • 크로스 플랫폼:

    1. 프로젝트 디렉터리에서 터미널을 엽니다.
    2. 실행: python server.py
    3. 출력된 URL(일반적으로 http://localhost:8080)로 이동합니다.

PS4 테스트(예시 대상)

  1. PS4가 서버와 동일한 LAN에 연결되어 있는지 확인합니다.
  2. PS4 브라우저를 엽니다.
  3. http://<server-lan-ip>:8080으로 이동합니다.
  4. “Run Crash Test”를 클릭합니다.

서버 세부 정보

  • 바인드: 0.0.0.0:8080
  • 엔드포인트:
    • / 또는 /index.html → exploit.html 제공
    • /poc.js → PoC 하네스 제공
    • /server-info.js → 로컬 열거에서 파생된 { ip, port, url, ips } 노출
    • /ip → 선택된 서버 IP를 일반 텍스트로 반환
    • /favicon.ico → 204
  • 기능:
    • RFC1918 IP 선택 우선순위: 192.168.0.0/16, 그 다음 10.0.0.0/8, 그 다음 172.16.0.0/12
    • GET/POST/OPTIONS에 대한 CORS 헤더 활성화
    • User-Agent 힌트가 포함된 간단한 로깅(PS4 브라우저 식별)

참고 사항 및 안전

  • 이 PoC는 크래시 중심입니다. 코드 실행을 시도하지 않습니다.
  • 통제된 환경에서 소유하고 테스트 권한이 있는 장치에서만 사용하세요.
  • 취약한 빌드에서는 불안정성과 브라우저 크래시가 발생할 수 있습니다.

참고 자료

  • WebKitGTK 및 WPE WebKit 보안 권고 WSA-2021-0007: https://webkitgtk.org/security/WSA-2021-0007.html
  • CVE-2021-30809에 대한 NVD 항목: https://nvd.nist.gov/vuln/detail/CVE-2021-30809
  • Amazon Linux 보안 센터: https://alas.aws.amazon.com/cve/html/CVE-2021-30809.html
  • Ubuntu CVE 공지: https://ubuntu.com/security/CVE-2021-30809
  • SUSE CVE 공지: https://www.suse.com/security/cve/CVE-2021-30809.html
도구 다운로드