본문 바로가기

Research

Issue 1473631 (Type Confusion in Harmony Set Methods) Introduction Issue 1473631은 JavaScript ES6 Harmony의 Set method들에서 발생하는 버그로, type confusion을 이용하여 arbitrary code execution이 가능한 취약점입니다. Environment Setting # install depot_tools cd ~ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=$HOME/depot_tools:$PATH echo -e '\nexport PATH=$HOME/depot_tools:$PATH' >> ~/.zshrc # get V8 cd ~ mkdir V8 cd V8 fetch v8 cd v8 g..
CVE-2024-0517 (Out of Bounds Write in V8) Introduction CVE-2024-0517은 Maglev가 derived constructor를 컴파일하는 과정에서 allocation folding을 처리할 때 발생하는 버그로, out of bounds write를 이용하여 arbitrary code execution이 가능한 취약점입니다. Environment Setting # install depot_tools cd ~ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=$HOME/depot_tools:$PATH echo 'export PATH=$HOME/depot_tools:$PATH' >> ~/.zshrc # get V8 cd ~ mkd..
CVE-2021-30551 (Type confusion in V8 in Google Chrome) Introduction CVE-2021-30551은 property interceptor가 JavaScript의 asynchronous task를 고려하지 않아 발생하는 버그로, type confusion을 이용하여 arbitrary code execution이 가능한 취약점입니다. Environment Setting Install Depot_tools Chromium 빌드를 위해 depot_tools를 설치합니다. cd ~ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=$PWD/depot_tools:$PATH Download Chromium source code Chromium 소스 코드를 다운..
Issue-1472121 : Exploit out-of-bound CloneObjectIC type confusion Environment Setting Install depot_tools cd ~ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=~/depot_tools:$PATH Get V8 source code mkdir v8 cd v8 fetch v8 cd v8 git checkout 25b1011e80f gclient sync -D Install build dependencies ./build/install-build-deps.sh Build V8 gn gen out/debug --args="v8_no_inline=true v8_optimized_debug=false is_component_build=fal..
CVE-2023-4427 PoC : Out of bounds memory access in V8. Introduction Sergei Glazunov of Google Project Zero에 의해 제보된 취약점으로 For-in 최적화 과정에서 발생하는 oob 취약점을 분석한 내용입니다. update The Stable and Extended stable channels has been updated to 116.0.5845.110 for Mac and Linux and 116.0.5845.110/.111 for Windows, which will roll out over the coming days/weeks. A full list of changes in this build is available in the log. Environment Setting Install depot_tools cd ~..
Microsoft Streaming Service Proxy Elevation of Privilege Vulnerability (CVE-2023-36802) Introduction 2023년 1월 10일, Patch Tuesday에 MSRC로부터 Microsoft Streaming Service Proxy(mskssrv.sys)에 존재하는 EoP 취약점이 공개되었다 이후 IBM X-Force의 @chompie가 자신의 X에 취약점의 연구 결과를 공개하였다 해당 연구에서는 임의의 주소에 0x2을 쓰는 취약점을 Yarden Sharif가 공개한 IoRing Primitive에 적용하여 임의의 주소에 원하는 값을 쓰는 Full AAW/AAR로 확장하였고 이를 통해 EoP를 달성하였다 이후 구글의 project 0에서 해당 취약점의 In-the-Wild 케이스를 분석하여 공개하였다 본 글에서는 구글 project 0가 분석한 In-the-Wild 케이스를 완전히 구..
CVE-2023-4069 (Type confusion in VisitFindNonDefaultConstructorOrConstruct of Maglev) Environment Setting Install depot_tools cd ~ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH=~/depot_tools:$PATH Get V8 source code mkdir v8 cd v8 fetch v8 cd v8 git checkout 7f22404388ef0eb9383f189c1b0a85b5ea93b079 gclient sync -D Install build dependencies ./build/install-build-deps.sh Build V8 gn gen out/debug --args="v8_no_inline=true v8_optimized_debug..
Chrome V8 Hole Exploit Prerequisite Knowledge Hole Object V8에서 hole은 빈 공간을 나타내는 객체로써, oddball type으로 사용자가 직접 컨트롤할 수 없는 객체입니다. /* v8/src/compiler/js-call-reducer.cc */ // The contract is that we don't leak "the hole" into "user JavaScript", // so we must rename the {element} here to explicitly exclude "the hole" // from the type of {element}. 만약 hole 객체에 접근하게 된다면 사용자는 undefined로 변환된 데이터만 확인할 수 있습니다. d8> %DebugPrint(%Th..