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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
POC-CVE-2025-6554 — CVE-2025-6554에 대한 개념 증명 익스플로잇으로, V8 자바스크립트 엔진 취약점으로 옵셔널 체이닝을 통해 초기화되지 않은 'Hole' 값에 허가되지 않은 접근을 허용하여 타입 혼동 및 메모리 조작을 가능하게 합니다. | Kitploit
도구/GitHubGitHub/ghostn4444/poc-cve-2025-6554
Vulnerability AnalysisExploitationWeb Application ExploitationPapers & ResearchLearning & EducationBinary Exploitation
GitHubghostn4444/poc-cve-2025-6554

POC-CVE-2025-6554

CVE-2025-6554에 대한 개념 증명 익스플로잇으로, V8 자바스크립트 엔진 취약점으로 옵셔널 체이닝을 통해 초기화되지 않은 'Hole' 값에 허가되지 않은 접근을 허용하여 타입 혼동 및 메모리 조작을 가능하게 합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2025-6554

CVE-2025-6554는 Chrome의 V8 (JavaScript 엔진) 인터프리터에서 발생하는 취약점입니다 (Hole Check '옵셔널 체이닝이 포함된 표현식 내 의도하지 않은 변수에 대한 부적절한 제어). POC (CVE-2025-6554-POC.JS)는 변수 사용 전 "Hole" 검증 메커니즘의 결함을 탐구하여, 일반적으로 참조 오류에 의해 차단되는 초기화되지 않은 값 읽기 동작을 허용합니다.

root@kitploit:~
function leak_hole() {
    let x;
    delete x?.[y]?.a;
    return y;
    let y;
}
function pwn() {
    let hole = leak_hole();
    %DebugPrint(hole);
}
pwn();

기술 설명

1. 취약 코드의 구조

let x; 및 let y;는 로컬 스코프 변수를 선언합니다. delete x?. [y]?.a 줄은 옵셔널 체이닝을 사용하여 중첩된 속성에 안전하게 접근합니다. 문제점: 변수 Y가 선언되기 전에 사용되어 참조 오류가 발생해야 하지만, 패치 이전 V8에서는 이 오류가 조용히 실패하여 "The Hole"이라는 특수 값 (TDZ 변수에 대한 센티널)을 캡처할 수 있었습니다. 코드의 반환값(return y)은 Y가 여전히 TDZ에 있으므로 접근할 수 없어야 합니다. 그러나 이 실패로 인해 접근이 가능해집니다.

2. 패치 전 동작

TDZ의 변수에 대한 접근을 방지하는 메커니즘은 ThrowReferenceerrofhole입니다. 패치 전에는 이 메커니즘이 delete x?. [y]? 중에 한 번만 호출되었습니다. V8은 내부적으로 변수 Y가 "구멍이 아님"으로 이미 검증되었다고 표시했지만, 이 검증은 제어된 스코프를 벗어났으며, 따라서 return y 중에 재평가되지 않았습니다.

3. 수정된 내용

패치는 return y에 ThrowReferenceerrorifhole에 대한 또 다른 필수 호출을 추가하여, 해당 구문 이전에 Y에 접근하려는 모든 시도가 올바르게 오류를 발생시키도록 합니다. 이 검증은 scope oilchecketscope에 의해 보장되었으며, 이는 모든 optionalchainnulllabelscope 호출에 포함되었습니다.

공격 흐름

root@kitploit:~
delete x?. [y]?. → Try to access Y (not initialized) → Failure to check "Hole" 
→ Y escapes as value → return y; → Capture the value of "Hole" → Debugprint reveals

공격자가 이 "Hole"을 캡처하면 Engine V8의 내부 상태를 유추할 수 있으며, 다음과 같은 공격을 용이하게 합니다:

  • Type Exploration Confusion

  • Stack Manipulation

  • Scope check circumstance

도구 다운로드