RSSAmplifier

Blog

Varik's Blog

Varik's blog

varik.devRSS feed ↗16 posts

Latest posts

pois0nSword: From Renderer R/W to Native Calls on iOS 26.1

Arbitrary read/write is not code execution. This post walks the road from read64/write64 to a real native call inside the WebContent sandbox on iOS 26.1: disabling the GC, parking a thread inside dlopen, making dyld's own allocator install our interpose table, the three locks in that path which 26.1 now checks in ways 18.6 did not - and the default-false embedder preference that silently disables…

JSC Exploitation Primitives - Part 1: From One OOB to Cage-Free Arbitrary R/W

Coming from V8 and landing in JavaScriptCore. Building the addrof/fakeobj/read64/write64 ladder from a single out-of-bounds write, and the JSC-specific walls (the gigacage, butterflies, NaN-boxing) that make the last step harder than it is in V8.

PgDay Armenia 2026 — Debugging Postgres

Slides, demo, and code from my PgDay Armenia 2026 talk on debugging Postgres crashes with core dumps and GDB.

V8 Exploitation: From Libc Pwn to Browser Bugs

A practical guide to getting into V8 and browser exploitation, coming from classic libc-based pwn. Covering the mental model, debug environment, core primitives, and what surprised me along the way.

Setting Up a Debug Environment for QEMU PCI Device Exploitation

Snyk CTF 2026 - PWN Slab Manager (FSOP)

Cyhub CTF 2025 - Candy Crush

Cyhub CTF 2025 - Hidden Gems

Cyhub CTF 2025 - Oh My BSD

Cyhub CTF 2025 - Stack Guardian

Rewriting CheatEngine in Rust for the Terminal

Cyhub CTF 2024 - hip_hip_hooray

Cyhub CTF 2024 - pg_lo

CREATE INDEX EXTERNALLY: Offloading pgvector Indexing from Postgres

Understanding pgvector's HNSW Index Storage in Postgres

Dynamically loaded extensions in Postgres in the browser