Skip to content

Instantly share code, notes, and snippets.

View Shreyas-Penkar's full-sized avatar
🐈

StreyPaws Shreyas-Penkar

🐈
View GitHub Profile
@Shreyas-Penkar
Shreyas-Penkar / gist:fae1c12d4a673f20698b62a2669f80e7
Last active February 10, 2026 21:28
PoC and short Writeup for CVE-2026-1862

CVE-2026-1862 Analysis

Bug Class: Type Confusion

Patch Link: https://chromium.googlesource.com/v8/v8.git/+/87d8ea13e6e3b22d1c161f500184d4abc02aa049%5E%21/#F1

Issue: Before the patch, Maglev incorrectly assumed that loads from Cell::kValueOffset could never produce TheHole, when accessing a module variable in its Temporal Dead Zone (TDZ) within optimized code. This could lead to unsafe optimization assumptions, invalid value assumptions, or debug assertion failures when TheHole appears at runtime.

Exported module bindings in V8 are represented using Cells (via module environment structures) to support live bindings. When a module variable is accessed before it is initialized (Temporal Dead Zone or TDZ), its value is the special "The Hole" value. The vulnerability lies in how Maglev handles module variables. Specifically, the patch fixes an issue where Maglev failed to account for the possibility that a module variable could be "The Hole" (uninitialized) during optimization.

Before th

@Shreyas-Penkar
Shreyas-Penkar / timeline_gen.html
Last active September 26, 2025 13:52
Pretty UI for Timeline Graph
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Race Condition Timeline</title>
<link href="https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;500&display=swap" rel="stylesheet">
<script src="https://cdn.tailwindcss.com"></script>
<style>
body {